[英]Php variables is not showing up in the mail
我正在建立一個在Wamp server 3
下運行的網站,並且我有一個php聯系人表格,我希望訪問者能夠直接從該網站發送郵件。
<?php
$myemail = "test.xample@xample.com";
if (isset($_POST['email']))
{
echo "Thank you for contacting us!";
/* Set e-mail recipient */
/* Check all form inputs using check_input function */
$name = ($_POST['name']);
$subject = ($_POST['subject']);
$email = ($_POST['email']);
$message = ($_POST['message']);
$mail = "Hello!
Your contact form has been submitted by:
Name: $name
E-mail: $email
Message:
$Message
End of message
";
/* Send the message using mail() function */
mail($myemail, $subject, $message);
}
?>
我已經通過運行SMTP Server
和mail()
函數測試了代碼,並且一切正常,但是我的問題是我的變量$name, $message, $email
沒有顯示在郵件中
這是郵件的外觀:
$mail = "Hello!
Your contact form has been submitted by:
Name: $name
E-mail: $email
Message:
$Message
End of message
";
但是郵件的結果如下所示:
你好!
您的聯系表格是由以下人員提交的:
名稱:
電子郵件:
信息:
訊息結束
所以變量的值是空的...
這是以下形式的html:
<form class="mt-5 ml-5 mr-5" method="POST" action="handler.php" id="reused_form"> <p id="contactForm" class="h4 text-center mt-5"><strong>Kontakta oss</strong></p> <!-- input text(Name) --> <div class="md-form"> <i class="fa fa-user prefix">*</i> <input type="text" name="name" id="name" class="form-control"> <label for="name">Your name</label> </div> <!-- input email --> <div class="md-form mt-5"> <i class="fa fa-envelope prefix">*</i> <input type="email" name="email" id="email" class="form-control validate"> <label for="email" data-error="Wrong" data-success="Right">Your email</label> </div> <div class="md-form mt-5"> <i class="fa fa-user prefix"></i> <input type="text" id="subject" class="form-control"> <label for="subject">Subject</label> </div> <!-- input message --> <div class="md-form mt-5"> <i class="fa fa-pencil prefix">*</i> <textarea type="text" name="message" id="message" maxlength="5000" class="form-control md-textarea" rows="3"></textarea> <label for="textareaPrefix">Message</label> </div> <div class="text-center mt-4 mb-4"> <button class="btn danger-color" type="submit">Submit</button> </div> </form>
如果有人可以幫助我解決這個問題,我將非常高興。
像下面這樣在帖子中刪除這些大括號()
$name = $_POST['name'];
$subject = $_POST['subject'];
$email = $_POST['email'];
$message = $_POST['message'];
和下面的郵件mail($ myemail,$ subject,$ mail);
調試101:
檢查是否按預期發布了變量。 添加一個var_dump選項
if (isset($_POST['email']))
{
var_dump( $_POST );
如果一切正確,請在處理后檢查值:
$name = ($_POST['name']);
$subject = ($_POST['subject']);
$email = ($_POST['email']);
$message = ($_POST['message']);
var_dump( $name, $subject, $email, $message );
如果一切正確,則通過將變量括在大括號中來確保對變量進行了處理。
$mail = "Hello!
Your contact form has been submitted by:
Name: $name
E-mail: {$email}
Message:
{$Message}
End of message
";
您的代碼還有其他“問題”,因為您在發送數據之前沒有檢查或清理數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.