【发布时间】:2020-11-02 10:10:52
【问题描述】:
我有一个相当简单的 PHP 页面,它检查数据库中的帐户名称值。 计划是:如果帐户详细信息在那里,那么我将登录标志设置为 true, 存储几个额外的会话变量,然后移动到另一个页面。 我的下一页检查会话变量的内容,然后继续向用户展示一些选项。
问题是: 虽然会话 ID 和会话变量在第一页中设置。 第二页看不到值。
我在这里看不到我做错了什么:
- 我查看了很多示例代码等
- 查看了 StackOverflow 上的一堆问题:看不到问题出在哪里。
我的代码如下:
第 1 页:(我忽略了数据库连接 - 我知道这是有效的) 本节前面有一些 If 语句,这基本上意味着我只有在设置了各种字段时才进入这一部分。正如您从页面输出 (1) 中看到的那样......我可以看到我需要的所有数据。
session_start();
echo '<p>checking $AN :' . $AN;
$_SESSION['Status']= true;
$_SESSION['Acct'] = $AN;
// debug details - echo details to screen to check values
$check = $_SESSION['Status'];
$name = $_SESSION['Acct'];
echo '<br>logon status :' . $check;
echo '<br>logon Acct : ' . $name;
echo '<br> session ID = :'. session_id();
echo '<a href="/sessioncheck.php" target="_self">click here</a>';
第二页(/sessionsheck.php)
$check = $_SESSION['Status'];
$name = $_SESSION['Acct'];
echo '<br>logon status :' . $check;
echo '<br>logon Acct : ' . $name;
echo '<br>session stats : ' . $_SESSION['Status'] . ' + ' . $_SESSION['acct'];
echo '<br> session ID :' . session_id();
我的输出如下图:
在我点击链接之前的第 1 页..... page output
对于第 2 页(会话 check.php) Page output
我不知道我哪里出错了。
- 我还没有关闭会话或“取消设置”任一页面中的变量的代码。
- 除了数据库连接外,没有别的。
我正在尝试与更下游的变量进行交互...不确定是否需要将会话 ID 与页面请求一起发送,例如:/xyz.php?=SessionID
不确定这是否会破坏将实际数据存储在服务器上的会话中的目的?
非常感谢任何帮助。 提前谢谢你
【问题讨论】:
-
请注意:我意识到我有一个错误 inline 14 page 2 应该是:$_SESSION['Acct'] ...当我输入问题时这是一个错误...这个至少是整理出来的。
标签: php session-variables