为什么在定义会话时出现“未定义索引”错误?

时间:2020-07-01 11:00:04

标签: php

我是PHP和会话的新手,所以轻松一点。 这是我的代码

if(isset($_POST["username"]) || isset($_SESSION["username"])){
   $_SESSION["username"] = $_POST["username"];
   echo $_SESSION["username"];
   } else {
     exit();
   }
   
  

我在应该定义$ SESSION [“ username”]的行中得到一个未定义的索引。我在做什么错了?

2 个答案:

答案 0 :(得分:1)

我知道了。如果isset($ _ POST [“ username”])为false,则会出现问题。然后,当$ _POST [“ username”]不存在时,它将返回错误

答案 1 :(得分:0)

尝试

if(isset($_POST["username"])){
 $_SESSION["username"] = $_POST["username"];
 echo $_SESSION["username"];
} else if (isset($_SESSION["username"])) {
 echo $_SESSION["username"];
} else {
 exit();
}

您正在检查是否设置了$_POST变量或$_SESSION变量,所以这里发生的是您的if语句返回true,因为您的$_SESSION变量已经设置。 并且不要忘记使用session_start()

开始会话