2010-07-29 40 views
0

我想知道我可以如何解决这个问题: 我在我的网站上有很多表格。每当我提交一个按钮,我想在下一页上打印一条消息。当表单被提交时,页面只是刷新。什么是最简单的方法或通常如何完成?PHP:打印成功或错误消息提交?

感谢您的帮助

回答

4

可能使用PHP会话和形式刷新前添加一个会话变量,然后检索它的下一个页面,显示它并删除它。

例如在您的重定向页面

 
$_SESSION["message"] = "Success!"; 

然后在您的形式

 
if(isset($_SESSION["message"])) { 
    echo $_SESSION["message"]; 
    unset($_SESSION["message"]); 
} 

这是简单的方法来做到这一点,我不喜欢这样。您可能需要为表单添加全局模板,以便您可以全局编辑第二个代码。

如果您有不同的表单,并且您重定向到不是原始表单的页面,则此方法很好,因此您可以在全局中显示反馈消息。

0

可能使用$ _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

0

首先,我不会推荐使用空白动作。 反正......如果你正在使用它,那么,当你正在处理你的表单数据,并检查验证时,你可以将所有的错误和成功消息存储在一个数组中,然后如果这个动作是空白的,你只会得到他们在同一页面(如果你不发送页眉或重定向页面),如果没有,那么你可以将该数组存储在会话中,以便在下一页中获得它... 最后,你可以取消设置array

希望这会有所帮助。 谢谢。