php - 我的 php 表单停止工作。之前还好好的
问题描述
这是我的 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
);
推荐阅读
- java - 在 JavaFX 中自动选择 ListView 的第一项
- elixir - Plug 路由器是否需要匹配/调度管道?
- c++ - 错误 C2676 二进制“<<”:“std::ostream”未定义此运算符或转换为预定义运算符可接受的类型
- scala - 如何根据条件为日期列的列中值的出现来过滤火花数据框?
- javascript - Console.log 未显示在节点承诺的第二层
- deep-learning - DQN 中的初始化状态
- swift - 如何在 Swift 4 中使用 Swift 切换到上一个屏幕而不会丢失数据
- angular - 使用 TestBed 为具有依赖关系的 Angular 服务创建测试用例
- jmeter - HTTP 请求的响应显示错误,如“HttpClient4”实现的 401“未授权”
- android - 显示键盘时自动调整布局