我在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
相同。为什么会这样?我该怎么做才能解决这个问题?任何建议都会非常有帮助。提前谢谢。
答案 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);
}