PHP会话amd“;注意:未定义索引…“;
我试图使用会话将值从一个页面传递到另一个页面,但它显示: 注意:第61行path\file.php中的未定义索引:user\u id 我正在创建会话的文件如下所示:PHP会话amd“;注意:未定义索引…“;,php,session,Php,Session,我试图使用会话将值从一个页面传递到另一个页面,但它显示: 注意:第61行path\file.php中的未定义索引:user\u id 我正在创建会话的文件如下所示: // Checking for session, if not then start session if (!isset($_SESSION)) { session_start(); } // Assigning user_id to session var $_session['user_id'] = $row['use
// Checking for session, if not then start session
if (!isset($_SESSION)) {
session_start();
}
// Assigning user_id to session var
$_session['user_id'] = $row['user_id'];
这是我用来访问会话变量的代码:
if (!isset($_SESSION)) {
session_start();
}
// Trying to access session var (previously defined)
$user_id = $_session['user_id'];
我犯了一个错误。我怎样才能解决这个问题
注意:对于那些认为这可能是一个重复问题的人,我的回答是:可能是,但其中没有一个解决了我的问题。因为我的是全局变量的大小写敏感度,其他变量不是这个问题。应该是$\u SESSION而不是$\u SESSION
$_SESSION['user_id']=$row['user_id'];
$user_id = $_SESSION['user_id'];
$\u SESSION
是一个全局变量,应该用大写字母书写。当您使用带有小写字母的变量时,在这种情况下,它不会得到变量,因为它从未定义过,并且没有键user\u id
,因此您会得到错误。希望这有帮助。错误很模糊,用户id未定义的索引可能是$\u SESSION
或$row
的一部分。您可以使用var\u dump()
进行一些调试,以检查哪个是哪个。这里也有一些会议的提示
会话中的一个常见错误是忘记包含
会话_开始()
在每个文件的顶部,不需要检查是否设置了$\u会话。无论如何,开始吧
此外,为了避免此错误,您应该进行检查以确保索引用户\u id存在。比如:
如果(isset($\u会话['user\u id']))
确保会话使用大写字母,$\u SESSION
,不确定它是否有区别,但这是服务器变量的常用标准
$_SESSION['user_id'] = $row['user_id'];
在接收端
$user_id = $_SESSION['user_id'];
使用会话
需要在需要访问会话数据的所有脚本上激活会话。这意味着您应该在需要访问任何会话数据的所有脚本的顶部执行以下操作:
则表示$\u session['user\u id']=$row['user\u id']代码>不起作用。重复:mate,实际上我正在检查用户id,如果存在,我将转到第二页。这意味着用户id存在,所以在创建会话伙伴时可能会出现问题。你能提出一些想法吗?你能给我们看一下检查它是否存在的代码吗?@MagnusEriksson它与case mate的问题,它的会话,我把它作为会话,这就是问题所在
<?php // Notice there is no space before <?php
// First check if the session exist before starting it.
// Do this at the very top of each script that needs access to $_SESSION data
if (session_status() == PHP_SESSION_NONE || session_id() == '') {
session_start();
}
<?php
if (session_status() == PHP_SESSION_NONE || session_id() == '') {
session_start();
}
// Some code...
$_SESSION['user_id'] = $row['user_id'];
// Some code...
<?php
if (session_status() == PHP_SESSION_NONE || session_id() == '') {
session_start();
}
// Some code...
$user_id = $_SESSION['user_id'];
// Some code...