我想知道我怎么能解决这个问题: 我的网站上有很多表格。每当我提交一个按钮,我想在下一页打印一条消息。提交表单时,页面只会刷新。什么是最简单的方法或通常如何完成?
感谢您的帮助
答案 0 :(得分:4)
可能在表单刷新之前使用PHP会话并添加会话变量,然后在下一页中检索它,显示并删除它。
e.g。在您的重定向页面
$_SESSION["message"] = "Success!";
然后在你的表格中
if(isset($_SESSION["message"])) { echo $_SESSION["message"]; unset($_SESSION["message"]); }
这是一种简单的方法,我这样做。您可能希望向表单添加全局模板,以便可以全局编辑第二个代码。
如果您使用不同的表单并且重定向到非原始表单的页面,则此方法很有用,因此您可以全局显示反馈消息。
答案 1 :(得分:0)
如果您想避免这种情况,请在<form action=...
页面中处理输入。处理表单,在写入任何输出之前判断它是否有效 - 然后输出成功或失败页面。
如果您需要构建输出页面,则需要处理表单输入表单$_GET
或$_POST
,然后缓冲输出(请参阅http://php.net/manual/en/function.ob-start.php)
p.s你对when a form is submitted the page simply refreshes
的意思是什么?您再次看到相同的inoput页面?如果是,请检查<form action=...
是否会引导您进入第二页。
HTH
答案 2 :(得分:0)
首先,我不建议使用空白动作。 无论如何......如果您正在使用它,那么,当您处理表单数据并检查验证时,您可以将所有错误和成功消息存储在一个数组中,然后如果操作为空,您只需获取它们在同一页面上(如果你没有发送标题或重定向页面),如果没有,那么你可以将该数组存储在会话中,以便在下一页中获取它... 最后你可以取消设置该数组
希望这会有所帮助。 感谢。