PHP自定义联系表单错误

时间:2014-01-28 08:07:12

标签: php

我是PHP编程的新手。我找到了一个联系表单教程,但它没有用。我不知道如何解决这个问题因为我认为没有语法错误。我正在使用WAMP服务器来连接PHP。

这是PHP代码

<?php

if (isset($_POST['contact_name']) && isset($_POST['contact_email']) && isset($_POST['contact_text'])) {
        $contact_name = $_POST['contact_name'];
        $contact_email = $_POST['contact_email'];
        $contact_text = $_POST['contact_text'];

        if (!empty($contact_name) && !empty($contact_email) && !empty($contact_text)) {
            $to = 'name@domain.com';
            $subject = 'Custom Contact Form';
            $body = $contact_name."\n".$contact_text;
            $headers ='From: '.$contact_email;

            if (@mail($to, $subject, $body, $headers)) {
                echo 'Your form has been submitted. We\'ll contact you shortly.';
                } else {
                echo 'There was an error';
            }

        }else {
            echo 'All fields are required.';
        }
}

?>

这是html代码:

<form action="index.php" method="POST">
        Name: <br><input type ="text" name="contact_name"><br><br>
        Email address: <br><input type="text" name="contact_email"><br><br>
        Message:<br>
        <textarea name="contact_text" rows="6" cols="30"></textarea><br><br>
        <input type="submit" value="Send">
</form>

请帮忙。

2 个答案:

答案 0 :(得分:0)

if (@mail($to, $subject, $body, $headers)) {

语法错误,在邮件字

之前删除@char

答案 1 :(得分:0)

如果您在使用mail()功能时遇到问题,很可能是因为您的计算机上没有运行邮件服务器。我建议使用PHPMailer。它使用起来非常简单(它甚至附带了使用Gmail帐户发送电子邮件的示例)。

此外,您不需要进行所有isset()检查,因为您正在使用!empty(),因为empty()检查变量是否已设置且是否为“空” 。可以找到更详细的描述here