【问题标题】:Contact Form that shows new page then reverts back to home page?显示新页面然后返回主页的联系表格?
【发布时间】:2013-11-20 23:11:42
【问题描述】:

我的网站上有一个基本的联系表格,效果很好。提交时,虽然它会打开一个带有“谢谢”的空白页面......我想可能会打开一个样式化的网页,上面写着“提交成功”显示大约 3 秒,然后返回到主页。我对网页设计非常陌生,尤其是 PHP,所以如果有人能提供任何提示,那就太好了。我把PHP代码放在下面:

<?php 
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent = "From: $name \r\n Message: $message";
$recipient = "myemail@email.com";
$mailheader = "From: $email \r\n";
mail($recipient, $message, $formcontent, $mailheader) or die("Error!");
echo "Thank You!";
?>

【问题讨论】:

  • 你连表格都没提交?
  • 我测试了两次,两封邮件都进入了收件箱。
  • 好吧,我明白了。我会回答的。

标签: php html css forms


【解决方案1】:

试试:

<?php 

$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent = "From: $name \r\n Message: $message";
$recipient = "myemail@email.com";
$mailheader = "From: $email \r\n";
mail($recipient, $message, $formcontent, $mailheader) or die("Error!");

?><!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="refresh" content="3; url=http://mysite.com/contact.php">
    </head>
    <body>
       <p>Submitted successfully</p>
    </body>
</html>

如果电子邮件已发送,将显示“提交成功”消息。三秒钟后,它将重定向到http://mysite.com/contact.php。将http://mysite.com/contact.php更改为您要返回的网址。

【讨论】:

  • 我正要回答这个问题,但他不应该添加提交吗?我确实认为他使用了一个按钮
  • @Loko 我认为他是从另一个页面提交的。
  • @Loko 对不起。不得不编辑我的评论。我按错了输入:/
  • 我能问一下为什么吗?信息很好地发送到我的电子邮件。如果我遗漏了什么,请告诉我。
  • @user2970070 您可以在一页中完成所有操作
【解决方案2】:

虽然韦恩·惠蒂的回答是对的,但我确实有另一个注释/答案:

要在 3 秒后重定向,请使用以下命令:

<meta http-equiv="refresh" content="3;url=http://YOURPAGE.php">

我看到您正在从不同的页面重定向,但这毫无用处。您也可以将其放在主页中,并仅在提交后使用它来重定向。 (表格是一个例子,我不知道你的表格是什么样子的)

<form action="register.php" method="post">
Username <input type="text" name="name">
Password <input type="text" name="email">
Message <input type="text" name="message">
<input name="register" type="submit" value="Register">
</form>


<?php 
if (isset($_POST['name'])) {
echo'<meta http-equiv="refresh" content="3;url=http://YOURPAGE.php">';
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent = "From: $name \r\n Message: $message";
$recipient = "myemail@email.com";
$mailheader = "From: $email \r\n";
mail($recipient, $message, $formcontent, $mailheader) or die("Error!");
echo "submitted successfully";
}
?>

也只需将:echo "Thank You!"; 替换为 echo "submitted successfully";

【讨论】:

  • 感谢您的帮助。
  • @user2970070 它对你有用吗?如果是,请不要忘记接受答案。此外,如果韦恩·惠蒂斯的回答更有帮助,那么请接受他的回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-11
  • 2015-10-08
  • 1970-01-01
  • 1970-01-01
  • 2021-03-30
相关资源
最近更新 更多