【问题标题】:undefined index $_SESSION variable in PHP [duplicate]PHP中未定义的索引$_SESSION变量[重复]
【发布时间】:2018-08-02 16:10:07
【问题描述】:

我在一个名为 (cart.php) 的文件中创建了一个 $_SESSION 变量,然后我在另一个页面 (index.php) 中调用了这个变量,它一直显示这个错误: index.php 中“NbrCmd”上的未定义索引同时它在 cart.php 中工作 这是'cart.php'变量声明和'echo':

$nbrcmd = 3;
$_SESSION['nbrcmd_online'] = $nbrcmd;

这是 index.php,我在其中调用了这个变量:

<p class="text-shopping-cart cart-total-full"> <?php echo $_SESSION['nbrcmd_online'] ; ?> </p>

会话已经在两个文件中启动,并且索引是正确的! 此代码:&lt;?php echo $_SESSION['nbrcmd_online'] ; ?&gt; 在 cart.php 中工作,但在 index.php 中它是一个未定义的 index 。 请帮忙,谢谢

【问题讨论】:

  • 注意: session_start() 函数必须是文档中的第一部分。在任何 HTML 标记之前。
  • 请复制/粘贴您收到的准确错误消息。
  • 如果会话在两个文件中都启动,那么这是数组中未定义索引的问题。请参阅stackoverflow.com/questions/4261133/…。我想这与 index.php 在去 cart.php 之前没有设置会话变量有关。
  • 请看两个文件的完整代码。
  • 完整错误消息 (!) 注意:未定义索引:NBRCMD_ONLINE IN C:\WAMP64\WWW\LOOH\VIEWS\INDEX.PHP ON LINE 401

标签: php variables session


【解决方案1】:

文档顶部使用session_start()

还可以使用var_dump($_SESSION) 找出究竟是什么设置为会话。

【讨论】:

  • 帖子说“会话已经在两个文件中启动”。除非有相反的证据,否则我会说 OP 已经在按照您的建议行事。
  • @PatrickQ 是的,但不确定他到底是从哪里开始的。
  • 可能是这样,但在这一点上,你真的只是在猜测,这使得这更像是一个评论而不是一个真正的答案。
  • 伙计们,当我使用 var dump $_SESSION 时,它没有显示我在 cart.php 中创建的变量!!!
  • 会话已启动并检查出来,我已经输入了 session_start() 并且它说会话已重新启动
【解决方案2】:

在变量中添加 config.php 文件:

session_start();

【讨论】:

  • 帖子说“会话已经在两个文件中启动”。除非有相反的证据,否则我会说 OP 已经在按照您的建议行事。
  • 如果它写在两个文件中,清除 cookie 和缓存,如果您正在使用项目 chrome 浏览器,请在隐藏的选项卡上继续。
猜你喜欢
  • 2013-11-16
  • 2017-07-25
  • 1970-01-01
  • 2015-01-20
  • 2012-03-27
  • 1970-01-01
  • 2016-01-04
  • 2011-08-06
相关资源
最近更新 更多