PHP脚本问题-联系表格


PHP Script Issues - Contact Form

我正在为一个网站编写联系人表单,但在实际电子邮件中发送表单字段时遇到了问题。

电子邮件发送和接收都很成功。

这是我的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); 
?>