Php 联系表单,否则脚本错误
我在代码中未找到错误: 此代码返回错误代码“message=6”,即使输入为空(对不起,我的英语水平)。 谢谢你的帮助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}$#', $_
<?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条件下运行的原因