Php &引用;注意:未定义索引";尝试读取$\u会话数组时
我有一个恼人的问题,我似乎无法解决它,我在YouTube上观看了一些视频,并通读了有关错误的php.net文档,但这个Php &引用;注意:未定义索引";尝试读取$\u会话数组时,php,session,Php,Session,我有一个恼人的问题,我似乎无法解决它,我在YouTube上观看了一些视频,并通读了有关错误的php.net文档,但这个$\u会话错误需要您的帮助 我得到的确切错误是: Notice: Undefined index: previouspage C:\Users\Administrator\Documents\Localhost\root\test\index.php on line 5 我创建的是一个使用会话变量的goback按钮。当变量已经在我的脚本中定义时,没有问题,但是当“用户”第一次访
$\u会话
错误需要您的帮助
我得到的确切错误是:
Notice: Undefined index: previouspage
C:\Users\Administrator\Documents\Localhost\root\test\index.php on line 5
我创建的是一个使用会话变量的goback按钮。当变量已经在我的脚本中定义时,没有问题,但是当“用户”第一次访问网站时,还没有“上一页”。上面的错误就是我得到的。我怎样才能解决这个问题
我有以下PHP代码:
<?php
session_start();
if($_SESSION["previouspage"]) {
echo "<a href=".$_SESSION["previouspage"].">Go back.</a>";
$_SESSION["previouspage"] = "index.php";
}else {
//No go back button will be displayed.
$_SESSION["previouspage"] = "index.php";
}
所以,当没有历史记录时,我会得到错误,否则不会。如何解决此问题?问题在于数组$\u会话
没有键上一页
您可以使用empty
功能检查键是否存在,以及$\u会话[“previouspage”]
是否有值。尝试使用:
if(!empty($_SESSION["previouspage"])){
//$_SESSION["previouspage"] exists!
}
使用isset()
函数:
if(isset($_SESSION["previouspage"])) {
echo "<a href=".$_SESSION["previouspage"].">Go back.</a>";
$_SESSION["previouspage"] = "index.php";
}else {
//No go back button will be displayed.
$_SESSION["previouspage"] = "index.php";
}
if(isset($\u会话[“上一页])){
回声“;
$\会话[“previouspage”]=“index.php”;
}否则{
//不会显示“返回”按钮。
$\会话[“previouspage”]=“index.php”;
}
请尝试:
if( isset($_SESSION["previouspage"]) ){
echo "<a href=".$_SESSION["previouspage"].">Go back.</a>";
$_SESSION["previouspage"] = "index.php";
}else {
//No go back button will be displayed.
$_SESSION["previouspage"] = "index.php";
}
if(isset($\u会话[“上一页])){
回声“;
$\会话[“previouspage”]=“index.php”;
}否则{
//不会显示“返回”按钮。
$\会话[“previouspage”]=“index.php”;
}
否,因为当我单击未定义的索引时,它谈论的是数组;)如果不想声明会话变量,则应关闭E_通知级别的错误报告。您可以在php.ini中执行此操作。但是如果($var)
$\u SESSION
确实是一个数组,我建议您使用isset()
来检查它们的存在,而不仅仅是!我试试看。最后,有人只是解释了一下,没有链接到其他没有意义的帖子:)@但事实并非如此。请参见,这意味着empty()本质上是与!isset($var)|$var==false
@Jim你说得对。仅针对未声明的变量发出通知谢谢!那很有用