我在这里搜索过,似乎无法找到满意的解决方案,所以我在问这个问题。
我有一个单页网站,其表单适用于发送到正确的电子邮件地址,并显示正确的回显结果标题;但是在测试时,每次刷新页面时都会重新发送消息,除此之外,我希望浏览器视图端口在按下提交按钮后显示联系表单,以便用户可以看到发送的表单或错误消息。
这是我的代码......
left
我真的很感激这方面的一些帮助。
感谢。
马克
答案 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');
你还说你想要一个错误或成功的方法,没问题。
如果您希望消息依赖于表单页面中的if
语句,请执行此操作。在form.php上,在重定向它们之前,创建一个$ message变量并将其设置为您想要的任何值。然后回到index.php中,写一个include_once('form.php');
,它允许你使用你在index.php中的form.php上创建的$message
变量。
在重定向用户之前,该消息可能应该是$message = ""
,因此在提交表单之前不会显示任何内容,但此解决方案应该可以正常工作,我希望这会有所帮助!
答案 1 :(得分:0)
将标题函数中的“位置”设置为“index.php”,只需将其设置为您使用表单创建的页面名称即可。