如果没有,请联系表单,脚本错误

时间:2014-05-25 11:08:56

标签: php html forms contact

我在代码中找不到错误: 即使输入为空(对不起我的英语水平),此代码也会返回错误代码“message = 6”。 谢谢你的帮助。

<?php
if (isset($_POST)) {
    extract($_POST);
    if (isset($_POST['name'])) {
        if (isset($_POST['email'])) {
            if (!preg_match('#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#', $_POST['email'])) {

                if (isset($_POST['message'])) {
                    $name=$_POST['name'];
        $message=$_POST['message'];
        $email=$_POST['email'];
                    $message      = str_replace("\'", "'", $message);
                    $destinataire = "name@domain.com";
                    $sujet        = "Formulaire de contact";
                    $message      = "Une nouvelle question est arrivée \n
                        Nom : $name \n
                        Email : $email \n
                        Message: $message";
                    $entete       = "From: $name \n Reply-To: $email";
                    if (mail($destinataire, $sujet, $message, $entete)) {
                        header("Location: ../index.php?message=7");
                    } else {
                        header("Location: ../index.php?message=6");
                    }
                } else {
                    header("Location: ../index.php?message=4");
                }
            } else {
                header("Location: ../index.php?message=3");
            }
        } else {
            header("Location: ../index.php?message=2");
        }

    } else {
        header("Location: ../index.php?message=1");
    }
} else {
    header("Location: ../index.php?message=5");`enter code here`
}

?>

我的输入文字: type =“text”class =“text”name =“email”placeholder =“Email”name =“mail”

修改 我已将POST值分配给变量。 但是if()有问题吗?为什么如果输入为空,php代码返回 message = 6?

2 个答案:

答案 0 :(得分:1)

您没有将POST值分配给变量

分配如下

$name=$_POST['name'];
$message=$_POST['message'];
$email=$_POST['email'];

答案 1 :(得分:0)

它是由多个标题代码引起的,这些标题代码在运行时可能会发生冲突 首先检查你是否在标题之前没有发送任何内容 然后改变你的if else机制。您可以使用单一标题代码以字符串形式发送错误消息,如下所示:

header("Location: ../index.php?message=".$msg);