我有一种情况,在处理表单时,如果在会话变量中存在问题并显示错误消息,并且在标题重定向之后回显消失。要清除会话错误消息,我将其设置为空;但是,这样做会导致它不被回应。我的代码很长,但是这是一个演示行为的例子。如何使用PHP会话变量然后更改它?
整个文件:
<?php
session_start();
if($_REQUEST['set_session'] == 'true')
{
$_SESSION['error_message'] = '<p>Should be this.</p>';
header('Location: session_test.php');
}
?>
<html>
<head>
</head>
<body>
<?
echo $_SESSION['error_message'];
$_SESSION['error_message'] = '<p>Should not be this.</p>';
?>
<p><a href="session_test.php?set_session=true">Test</a></p>
</body>
有人能解释为什么我得到“不应该是这样”,而不是“应该是这样”?我怎样才能得到我想要的结果。
也许不相关,但是你是否在任何地方设置了'$ error_message'? – 2011-03-19 11:16:18
您正在打印$ error_message - 但这个变量的值是从哪里得到的? – Andreas 2011-03-19 11:17:53
非常感谢Felix Kling和andreas--你们都是对的,应该像现在一样。谢谢。 – matfr 2011-03-19 11:42:45