我正在为一个网站编写联系人表单,但在实际电子邮件中发送表单字段时遇到了问题。
电子邮件发送和接收都很成功。
这是我的HTML
<form action="mail.php" method="post" style="font-size:12px;">
<p>Name</p> <input type="text" name="name">
<p>Telephone</p><input type="text" name="phone" size="30" />
<p>Email</p> <input type="text" name="email">
<p>Message</p><textarea name="comments" rows="6" cols="25"></textarea><br />
<p>Best time to Contact You</p><input type="text" size="15" name="time" />
<input type="submit" value="Send"><input type="reset" value="Clear">
</form>
和我的PHP
<?php
$to = "myemailaddress";
$subject = "New Website Enquiry";
$message = "You have recieved a new enquiry";
$from = $_POST['email'];
$name = $_POST['name'];
$message = $_POST['comments, phone, time'];
$headers = "From:" . $from;
$url = 'index.html';
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
mail($to,$subject,$message,$headers);
?>
您需要学习基本的PHP语法。
$message = $_POST['comments, phone, time'];
是完全错误的。不能像那样在逗号分隔的列表中指定乘法数组键,更不用说在STRING中了。代码应该更像:
$message = $_POST['comments'] . $_POST['phone'] . $_POST['time'];
请注意,您得到的是NOTphp级别的语法错误。您使用的是一个完全可以接受的数组键,而这个键恰好不存在。
我在您的代码中发现一个语法错误:
更改
$message = $_POST['comments, phone, time'];
至
$message = $_POST['comments'] . . $_POST['phone'] . $_POST['time'];
你还有什么问题?
<?php
$to = "myemailaddress";
$subject = "New Website Enquiry";
$message = "You have recieved a new enquiry";
$from = $_POST['email'];
$name = $_POST['name'];
$headers = "From:" . $from;
$url = 'index.html';
echo '<META HTTP-EQUIV=Refresh CONTENT="0;URL='.$url.'">'; mail($to,$subject,$message,$headers);
?>