繁体   English   中英

尝试使用PHP从html表单发送电子邮件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM