Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 联系表单,否则脚本错误_Php_Html_Forms_Contact - Fatal编程技术网

Php 联系表单,否则脚本错误

Php 联系表单,否则脚本错误,php,html,forms,contact,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}$#', $_

我在代码中未找到错误: 此代码返回错误代码“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`
}

?>

您没有将POST值分配给变量

分配如下

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

这是由于多个标头代码在运行时可能发生冲突造成的。
首先,检查邮件头之前是否没有发送任何内容。
然后改变if-else机制。您可以在一个单头代码中以字符串形式发送错误消息,如下所示:

header("Location: ../index.php?message=".$msg);
mail()
函数返回布尔值,很可能为false,这就是它在else条件下运行的原因