一页联系表格,提交后重定向到表格&阻止重新提交页面刷新

时间:2015-10-16 13:36:41

标签: php html forms contact

我在这里搜索过,似乎无法找到满意的解决方案,所以我在问这个问题。

我有一个单页网站,其表单适用于发送到正确的电子邮件地址,并显示正确的回显结果标题;但是在测试时,每次刷新页面时都会重新发送消息,除此之外,我希望浏览器视图端口在按下提交按钮后显示联系表单,以便用户可以看到发送的表单或错误消息。

这是我的代码......

left

我真的很感激这方面的一些帮助。

感谢。

马克

2 个答案:

答案 0 :(得分:1)

您的意思是浏览器询问您是否要在刷新后重新提交表单?如果是这样,它将始终重新提交信息,但您可以做的是将php代码放在另一个文件中,告诉表单转到该文件,并在脚本执行后重定向回表单页面。

修改

好的,有一个专门用于表单的页面,我们称之为form.php。

在您的模板页面上,或者您的用户界面的任何位置(对于此示例,让我们假装它是index.php),以与您相同的方式创建表单,而不是将页面的“操作”设置为index.php ,将其设置为form.php。

e.g。 <form action="form.php" method="post">

如果要将用户重定向到表单的其他页面,则需要执行此操作。然后他们可以在您的网站上找到方法。

如果您想立即将它们带回index.php

,请使用此选项

仍然执行第一步,而不是将页面的“动作”设置为index.php,将其设置为form.php。

e.g。 <form action="form.php" method="post">

现在,当用户在form.php上时,一切都会很快发生,所以请确保在脚本结束时使用header('Location: index.php');

将它们重定向回index.php

你还说你想要一个错误或成功的方法,没问题。 如果您希望消息依赖于表单页面中的if语句,请执行此操作。在form.php上,在重定向它们之前,创建一个$ message变量并将其设置为您想要的任何值。然后回到index.php中,写一个include_once('form.php');,它允许你使用你在index.php中的form.php上创建的$message变量。

在重定向用户之前,该消息可能应该是$message = "",因此在提交表单之前不会显示任何内容,但此解决方案应该可以正常工作,我希望这会有所帮助!

答案 1 :(得分:0)

将标题函数中的“位置”设置为“index.php”,只需将其设置为您使用表单创建的页面名称即可。