我正在尝试使用header()函数创建重定向,并且希望显示错误消息。目前,我是通过URL作为参数发送消息,但这使得页面看起来很丑陋。
是否有一种方法可以将该值作为POST变量传递?
感谢任何建议。
谢谢。
Dan,你可以在PHP中启动并存储一个会话,然后将消息保存为会话变量。这样可以避免你必须通过HTTP请求传输消息。
//Start the session
session_start();
//Dump your POST variables
$_SESSION['POST'] = $_POST;
//Redirect the user to the next page
header("Location: bar.php");
现在,在bar.php
中,您可以通过重新初始化会话来访问那些POST变量。
//Start the session
session_start();
//Access your POST variables
$temp = $_SESSION['POST'];
//Unset the useless session variable
unset($_SESSION['POST']);
要了解更多关于会话的内容,请查看:http://php.net/manual/en/function.session-start.php
假设您可以本地访问显示错误的页面,而不是重定向,您可以将其包含在导致错误的页面中,然后以编程方式显示错误消息。
if(something_went_wrong()) {
require_once('errors.php');
display_error('something really went wrong.');
}
errors.php
文件将包含一个display_error($message)
的定义,用于显示格式化的消息。