PHP表单未重定向,将转到表单post
我使用下面的联系方式。当我在本地机器上运行它时,它正在工作。但是在我的服务器上,如果表单失败,它会做正确的事情并转到fail.php,但是当所有字段都被填充时,它会在单击send而不是success.php后转到send_contact2.phpPHP表单未重定向,将转到表单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']) ){
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设置,我会在允许的情况下将其作为答案。干杯