php - 如何使用 PHP session 变量然后更改它?

标签 php session-variables

我遇到一种情况,在处理表单时,如果 session 变量中存在问题和错误消息,然后在 header 重定向后回显。为了清除 session 错误消息,我将其设置为 null;然而,这样做会导致它根本不会被回显。我的代码很长,但这里有一个演示该行为的示例。

整个文件:

<?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>

有人可以解释为什么我得到“不应该是这个”而不是“应该是这个”吗?以及我如何才能得到我想要的结果。

最佳答案

我认为如果您在标题后退出脚本,您的问题应该得到解决。使用这个:

header('Location: session_test.php');
exit();

即使浏览器转到另一个页面,脚本也会在调用 header 后继续运行。因此,虽然该页面中的回显没有显示,但错误消息仍然发生了变化。

关于php - 如何使用 PHP session 变量然后更改它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5361694/

相关文章:

javascript - 我想使用文件上传选项将多个图像路径保存到 mysql 数据库?我正在使用一个将其他数据输入数据库的表单

PHP : Post a list of checkboxes

session-variables - 在 PythonAnywhere Web2Py 上但不在本地时 session 丢失

c# - 使用Session验证用户名和密码

php - 哪种方法最好??保存 session 中的用户名或 session 中的用户ID?

php - 借助 PHP、MySQL 和 HTML 表创建分类账户

php - 用户可以从我的来源获取我的数据库信息吗

php - 如何在MySQL中检索两个日期之间的所有行?

c# - 从类访问 HttpApplication.Application 变量

python - django 设置 session 变量直到一天结束