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

Php 为什么在定义会话时会出现“未定义索引”错误?,php,Php,我是新的PHP和会话,所以请放心。 这是我的密码 if(isset($_POST["username"]) || isset($_SESSION["username"])){ $_SESSION["username"] = $_POST["username"]; echo $_SESSION["username"]; } else { exit(); }

我是新的PHP和会话,所以请放心。 这是我的密码

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

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

我知道了。如果isset$\u POST[username]为false,则会出现问题。然后,当$\u POST[username]不存在时,它会返回一个错误

if(isset($_POST["username"])){
 $_SESSION["username"] = $_POST["username"];
 echo $_SESSION["username"];
} else if (isset($_SESSION["username"])) {
 echo $_SESSION["username"];
} else {
 exit();
}
您正在检查是设置了$\u POST变量还是设置了$\u会话变量,因此这里发生的是if语句返回true,因为您的$\u会话变量已设置。
别忘了用session_start启动会话

您是否调用了session_start?顺便说一句,如果您要验证是否设置了一个或| |另一个,则必须将其更改为和或&&