$ _POST变量不会将其内容发送到电子邮件

时间:2014-09-27 14:12:23

标签: php email post

我在php中有一个表单,我想向电子邮件帐户发送邮件。

form.php的

<form method="post" action="emailSender.php">
    <label>Name:</label>
    <input type="text" name="name"></input>
    <label">Email:</label>
    <input type="email" name="email"></input>
    <label>Message:</label>
    <textarea name="message"></textarea>
    <input type="submit" name="send" value="Send Message"></input>
</form>

emailSender.php

<?php
  $subject = "my subject";
  $to = "mymail@example.com";
  $message1 = 'Name:'.$_POST['name']."\n";
  $message1 .= "email:".$_POST['email']."\n";
  $message1 .= "Message:".$_POST['message']."\n";
  if (isset($_POST['send'])) {
       echo 'sent: ';
       echo $name;
       echo $email;
       echo $message;
       @mail($to,$subject,$message1);
    }
?>

电子邮件已正常发送,但我在$_POST内使用的变量值不会发送其内容。如您所见,名称属性中的所有名称都与$_POST相同。为什么会这样?我该怎么做才能解决这个问题?任何建议都会非常有帮助。提前谢谢。

1 个答案:

答案 0 :(得分:0)

你的脚本很好。调试使用:

在emailSender.php上

并检查正在设置哪些变量。

在您使用的电子邮件中出现了什么问题:

$ _ POST [&#39; name&#39;]然后你想要回显$ name - 这是不同的。

检查register_globals以查看我的意思。

将脚本更改为:

if (isset($_POST['send'])) { echo 'sent: '; echo $_POST['name']; echo $_POST['email']; echo $_POST['message']; @mail($to,$subject,$message1); }