Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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表单未重定向,将转到表单post_Php_Forms_Contact Form - Fatal编程技术网

PHP表单未重定向,将转到表单post

PHP表单未重定向,将转到表单post,php,forms,contact-form,Php,Forms,Contact Form,我使用下面的联系方式。当我在本地机器上运行它时,它正在工作。但是在我的服务器上,如果表单失败,它会做正确的事情并转到fail.php,但是当所有字段都被填充时,它会在单击send而不是success.php后转到send_contact2.php if (empty($_POST['name']) || empty($_POST['number']) || empty($_POST['email']) || empty($_POST['messagearea']) ){

我使用下面的联系方式。当我在本地机器上运行它时,它正在工作。但是在我的服务器上,如果表单失败,它会做正确的事情并转到fail.php,但是当所有字段都被填充时,它会在单击send而不是success.php后转到send_contact2.php

if (empty($_POST['name'])
    || empty($_POST['number'])
    || empty($_POST['email'])
    || empty($_POST['messagearea'])
){
    header('Location: fail.php');
}

else {

    $name = $_POST['name'];
    $number = $_POST['number'];
    $email = $_POST['email'];
    $messagearea = $_POST['messagearea'];

    $to = 'example@gmail.com';
    $subject = "Website Message: Contact form";
    $message = '$messagearea';
    $headers = "From: WebsiteMessage";

    mail($to, $subject, $message, $headers);

    header("Location: success.php");

}
?>
这是send_contact2.php
if (empty($_POST['name'])
    || empty($_POST['number'])
    || empty($_POST['email'])
    || empty($_POST['messagearea'])
){
    header('Location: fail.php');
}

else {

    $name = $_POST['name'];
    $number = $_POST['number'];
    $email = $_POST['email'];
    $messagearea = $_POST['messagearea'];

    $to = 'example@gmail.com';
    $subject = "Website Message: Contact form";
    $message = '$messagearea';
    $headers = "From: WebsiteMessage";

    mail($to, $subject, $message, $headers);

    header("Location: success.php");

}
?>
这是我的表格

<form name="form1" method="post" action="send_contact2.php">
    <input name="name" type="text" placeholder="Your Name"/> <br/>
    <input name="email" type="email" placeholder="Your Email"/> <br/>
    <input name="number" type="tel" placeholder="Your Number"/> <br />
    <textarea name="messagearea" cols="" rows="" id="messagearea" placeholder="Your Message"/></textarea> <br/>

    <input name="sumbit" type="submit" value="SEND" id="button2" />
</form>





我的电脑里有这个设置


如果页面停留在send_contact2.php上,将非常感谢您的帮助,因为标题(“Location:success.php”)不会重定向。阅读这篇文章,可能会有所帮助

如果页面停留在send_contact2.php上,那是因为标题(“Location:success.php”)没有重定向。阅读这篇文章,可能会有所帮助

在我看来,PHP必须输出一些文本(char,error或warning?),或者您在
之前使用了char。在我看来,PHP必须输出一些文本(char,error或warning?),或者您在
操作之前使用了char,最后对其进行了排序

if (empty($_POST['name'])
    || empty($_POST['number'])
    || empty($_POST['email'])
    || empty($_POST['messagearea'])
){
    header('Location: fail.php');
}

else {

    $name = $_POST['name'];
    $number = $_POST['number'];
    $email = $_POST['email'];
    $messagearea = $_POST['messagearea'];

    $to = 'example@gmail.com';
    $subject = "Website Message: Contact form";
    $message = '$messagearea';
    $headers = "From: WebsiteMessage";

    mail($to, $subject, $message, $headers);

    header("Location: success.php");

}
?>
是邮件服务器问题,因此,如果将来有人遇到此问题,请检查主机上的php设置,确保它允许mail(),并确保在服务器上设置了发送电子邮件的电子邮件地址


感谢所有在这里帮助我调试OP的人,他们最终对它进行了排序

是邮件服务器问题,因此,如果将来有人遇到此问题,请检查主机上的php设置,确保它允许mail(),并确保在服务器上设置了发送电子邮件的电子邮件地址


感谢所有帮助我调试的人

检查您的错误日志中是否有任何错误…表单提交过程中是否发送了电子邮件而未失败?如果电子邮件未发送,您确定脚本是否已到达else块?尝试放置模具(“QA”);在else块中,然后成功提交表单,并查看字符串QA是否在屏幕上得到输出。您将其放置在何处?在mail()函数上方还是下方?如果在上面,请尝试将其放在mail()函数的正下方,如果QA没有输出,则mail()肯定会失败,
“$messagearea”
无论如何都是错误的,即使电子邮件正在发送
-带引号的字符串不会插入变量。@luke_mclachlan我会做,不会解决mail()问题检查您的错误日志是否有任何错误…表单提交过程中是否发送了电子邮件而未失败?如果电子邮件未发送,您确定脚本是否到达了else块?尝试放置模具(“QA”);在else块中,然后成功提交表单,并查看字符串QA是否在屏幕上得到输出。您将其放置在何处?在mail()函数上方还是下方?如果在上面,请尝试将其放在mail()函数的正下方,如果QA没有输出,则mail()肯定会失败,
“$messagearea”
无论如何都是错误的,即使电子邮件正在发送
-带引号的字符串不会插入变量。@luke_mclachlan我会这样做,但不会解决mail()问题如果我在邮件服务器上托管的是php设置,我会在允许的情况下将其作为答案。cheers:如果我的邮件服务器主机上有php设置,我会在允许的情况下将其作为答案。干杯