Php 注意:未定义变量:
我无法摆脱这个错误。我只是不明白为什么它说它没有定义,因为它是在几行之前定义的。我真的被困在这里了。任何想法都将受到高度赞赏Php 注意:未定义变量:,php,Php,我无法摆脱这个错误。我只是不明白为什么它说它没有定义,因为它是在几行之前定义的。我真的被困在这里了。任何想法都将受到高度赞赏 Notice: Undefined variable: admin_username in D:\xampp\htdocs\site\lib\configuration.php on line 63 Notice: Undefined variable: signin_username in D:\xampp\htdocs\site\lib\configuration.
Notice: Undefined variable: admin_username in D:\xampp\htdocs\site\lib\configuration.php on line 63
Notice: Undefined variable: signin_username in D:\xampp\htdocs\site\lib\configuration.php on line 76
错误在这里:
这很可能是第63行。问题是,如果设置了$\u会话['admin\u username'],则仅定义$admin\u username
虽然您没有在代码示例中显示它,但我认为$signin_username也是如此
解决方案1-使用isset
你的问题有很多解决方案。第一个,也许是最简单的,是在检查变量值之前检查变量是否已设置
if($admin_username && $admin_password && $admin_token == session_id())
解决方案2-定义默认值
如果在检查相应的$\会话变量是否存在之前,变量存在默认值,则不会发生错误:
if (isset($admin_username, $admin_password, $admin_token) && session_id() == $admin_token)
解决方案3-定义何时缺失
如果定义这些变量时不考虑相关的$\u会话变量是否存在,则这些错误也不会发生:
$admin_username = $admin_password = $admin_token = FALSE;
if(isset($_SESSION['admin_username'])){ $admin_username = $_SESSION ['admin_username']; }
if(isset($_SESSION['admin_password'])){ $admin_password = $_SESSION['admin_password']; }
if(isset($_SESSION['admin_token'])){ $admin_token = $_SESSION['admin_token']; }
在第63行显示第0到63行+首先确保有一个标题为admin_username的会话变量。您的isset返回false,因此它们永远不会被定义为Course;抱歉@AD7six您可以只回显$admin_username的值吗?或者放置一个回音以显示它们是指定值。+1。我已经调整了一些措辞+添加了一些格式以便于阅读。尽量避免使用需要滚动的代码示例=非常好,谢谢,我会记住这一点。
$admin_username = $admin_password = $admin_token = FALSE;
if(isset($_SESSION['admin_username'])){ $admin_username = $_SESSION ['admin_username']; }
if(isset($_SESSION['admin_password'])){ $admin_password = $_SESSION['admin_password']; }
if(isset($_SESSION['admin_token'])){ $admin_token = $_SESSION['admin_token']; }
$admin_username = isset($_SESSION['admin_username']) ? $_SESSION['admin_username'] : FALSE;
$admin_password = isset($_SESSION['admin_password']) ? $_SESSION['admin_password'] : FALSE;
$admin_token = isset($_SESSION['admin_token']) ? $_SESSION['admin_token'] : FALSE;