【问题标题】:$_Session Array unidentified index$_Session 数组未识别索引
【发布时间】:2016-12-23 23:04:17
【问题描述】:

我有一个名为 Country->Gov->Branch 的类。他们每个人都按以下顺序向另一个人返回一个数组:Country 给出 Gov 并将其与 gov 合并,gov 给出 branch 并将其与 branch 合并。当我使用 User 并将其加载到 $_session 时,分支数组是 User 类的一个属性,我确实使用数组合并将分支数组直接合并到会话以使其易于使用,因此我不必循环数组数组(只是一个主意)。 print_r($_SESSION);的结果如下

Array ( [userid] => 1 
        [login] => email@gmail.com 
        [name] => Mohamed Talaat 
        [group] => 0 
        [picture] => mac 
        [Branchbranchid] => 1 
        [Branchbranchname] => Head Office 
        [Branchaddress] => xxxxxx st. , xxxx 
        [Branchgovid] => 2 
        [Govgovid] => 2 
        [Govgovcode] => 03 
        [Govgovname] => Alexandria 
        [Govcountryid] => 1 
        [Countrycountryid] => 1 
        [Countrycountrycode] => 20 
        [Countrycountryname] => Egypt )

我说的是 Horay ,但是当我用下面的方式调用它时,快乐的感觉不会永远持续下去,我得到一个错误。

echo $_SESSION['Branchbranchid'];

注意:未定义索引:第 7 行 D:\xampp\htdocs\office\home.php 中的 Branchbranchid 没有任何回应 在任何代码之前,我确实在页面的第一个标题处有一个session_start();,我注意到问题发生在从键 [Branchbranchid] 开始的合并部分,因为如果我这样做 echo $_session['any element']; 就像

echo $_SESSION['name']; 

在此键 ([Branchbranchid]) 之前,代码可以正常工作。我试图通过将带有键的值添加到另一个数组来转身,但我得到了相同的结果,并且出现了相同的通知,并且没有回显。我认为键存在问题,因为当我将值推送到索引数组时,它工作正常但没有键,这是一个丢失的案例......

任何想法......关于为什么以及如何避免或解决这个问题

【问题讨论】:

  • 要以任何方式使用会话,您必须在要使用它的页面顶部添加session_start();
  • 你在哪里使用这个,在同一个文件或任何其他 php 文件上?
  • $_SESSION != $_session
  • 我确实有一个 session_start();在页面的第一行,我确实有两个文件,首先是 index.php,我在其中初始化了 $_session 并在其中执行了 array_merge,第二个文件 home.php 我将在其中使用 $_session显示 $_session 值或使用它,当我执行 print_r($_session); 时,我确实得到了上面问题中出现的结果
  • 谢谢夏洛特,我确实按照你在代码中所说的 $_SESSION 使用它,我会在问题处修复它

标签: php arrays session merge


【解决方案1】:

您应该将start_session() 作为您尝试访问全局会话的任何位置的 php 文件中的第一行。

并将$_session 更改为$_SESSION

【讨论】:

  • 我确实在第一行使用了 start_session 并且在我的代码中我确实用大写写了 $_SESSION ...我确实修复了上面的问题 谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-11
  • 1970-01-01
  • 2023-01-06
  • 2011-11-11
相关资源
最近更新 更多