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