![](/img/trans.png)
[英]PHP form not working. displays fine in IE/FF, not in chrome.
[英]My php form stopped working. It was working fine before,
這是我的 HTML:
<form method="POST" action="php/enigma.php" class="input-focus-label-highlight input-label-focus-color-FFFFFF">
<span class="form-input-label input-focus-label font-family-1 color-666" data-pb-editable-text=""><span style="color:#ffffff;">Name:<br></span><br></span>
<div>
<div class="form-input-field"><input class="font-family-1 rel-color-464646 rel-border-color-E7E7E7" type="text" id="name" name="name" placeholder="" required style="
margin-bottom: 20px;"></div>
</div>
<span class="form-input-label input-focus-label font-family-1 color-666" data-pb-editable-text=""><span style="color:#ffffff;">Email Address:<br></span><br></span>
<div>
<div class="form-input-field"><input class="font-family-1 rel-color-464646 rel-border-color-E7E7E7" type="email" id="email" name="email" placeholder="" required></div>
<div class="form-submit-button"><button class="background-color-FFFFFF background-color-hover-ECF8FF" type="submit" name="submit"><i class="fa fa-arrow-right color-FFFFFF" style="color: rgb(0, 0, 0);"></i></button></div>
</div>
</form>
這是我的PHP:
<?php
$email = filter_var($_POST["email"], FILTER_SANITIZE_EMAIL);
$name = filter_var($_POST["name"], FILTER_SANITIZE_STRING);
if(
empty($email)) {
echo "Please fill in the required (*) fields";
exit;
}
$headers = "MIME-Version: 1.0\r\n";
$headers = "Content-type: text/plain; charset=utf-8\r\n";
$headers = "From: ". $email ."" . "\r\n";
'Reply-To: ". $email ."' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail( 'email@email.com', 'New Email from Website' ,
"Email: $email \r\n", "Name: $name \r\n", $headers );
header('Location:https://google.com');
?>
我的表格工作得很好。 我添加了“名稱”輸入字段,它剛剛停止工作。 我再次刪除了名稱輸入字段以測試它是否有效,但它不再有效。
標頭函數正確執行。 郵件功能似乎是問題所在。 我嘗試使用服務器和本地主機,但仍然沒有運氣。
您將Name
作為標題傳遞給mail()
而不是正文的一部分,並將$headers
作為“附加參數”發送。 為了說明,讓我們把每個參數放在自己的行上:
mail(
'email@email.com',
'New Email from Website' ,
"Email: $email \r\n",
"Name: $name \r\n",
$headers
);
看起來您打算將“電子郵件”和“姓名”字符串組合到正文中:
mail(
'email@email.com',
'New Email from Website' ,
"Email: $email \r\nName: $name \r\n",
$headers
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.