[英]Trying to send e-mail from html form with PHP
我正在尝试制作一个包含名称,电子邮件和消息并将其发送给我的表格。
我有这个表格:
<form id="form" action="form.php" method="post" enctype="text/plain">
Namn:<br>
<input id="box1" type="text" name="name"><br>
E-post:<br>
<input id="box2" type="text" name="mail"><br>
Meddelande:<br>
<textarea id="messagebox" type="text" name="message"></textarea><br><br>
<input id="submit" type="submit" value="Send">
</form>
这是我的form.php:
<?PHP
$name = $_POST["name"];
$mail = $_POST["mail"];
$message = $_POST["message"];
mail("name@example.com", "Message from $name", $message);
?>
我确实收到了电子邮件,但没有主题或消息。 它说邮件是空的。 如果在mail函数中用文本替换变量,则会得到正确的文本,这必须表示变量未获取其值。
是这种情况,我应该如何解决? 如果没有,还有什么不对的地方?
问题是您已将enctype属性设置为“ text / plain”,这意味着仅空格被转换为+字符,而没有特殊字符被编码。 这意味着,当PHP收到提交的表单时,它不会将任何表单参数放入$ _POST自动全局数组中,因为它们以意外的格式被接收。 要解决此问题,只需完全删除enctype属性,或将其替换为“ application / x-www-form-urlencoded”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.