PHP:提交时打印成功或错误消息?

时间:2010-07-29 01:51:17

标签: php

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

感谢您的帮助

3 个答案:

答案 0 :(得分:4)

可能在表单刷新之前使用PHP会话并添加会话变量,然后在下一页中检索它,显示并删除它。

e.g。在您的重定向页面

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

然后在你的表格中

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

这是一种简单的方法,我这样做。您可能希望向表单添加全局模板,以便可以全局编辑第二个代码。

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

答案 1 :(得分:0)

可以使用$ _SESSION,正如Jimmie建议的那样。那将是有效的。

如果您想避免这种情况,请在<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)

首先,我不建议使用空白动作。 无论如何......如果您正在使用它,那么,当您处理表单数据并检查验证时,您可以将所有错误和成功消息存储在一个数组中,然后如果操作为空,您只需获取它们在同一页面上(如果你没有发送标题或重定向页面),如果没有,那么你可以将该数组存储在会话中,以便在下一页中获取它... 最后你可以取消设置该数组

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