PHP 会话变量:错误未定义变量

PHP Session Variable: Error Undefined Variable

所以基本上是使用用户电子邮件和密码创建会话。检查它是否输入了电子邮件和密码,如果没有将它们重定向回登录页面。因此:

<!DOCTYPE html>
<?php
    session_start();
    include 'connect.php';
    if(!isset($_SESSION['email']) || !isset($_SESSION['password']))
    {
        header("location:loginTemplate.php");
    }
    else
    {
        $_SESSION['email'] = $email;
    }
?> 

所以我想使用 $email 变量来欢迎用户。因此:

 <h2>Welcome <?php echo $email; ?></h2>

但我收到一条错误消息,提示变量未定义

您没有在任何地方定义 $email

更正行:

$_SESSION['email'] = $email;

$email = $_SESSION['email'];

您需要从 Session 中获取 email 值,并且您正在尝试将值赋给会话变量。

就是这样。

尝试将您的逻辑更改为:

if(!isset($_SESSION['email']) && !isset($_SESSION['password']))

您的会话可能没有设置,因为您没有被重定向到 loginTemplate.php,所以使用 OR 选项,它将无法进入所需的条件,但可以使用 && 条件。

if(!isset($_SESSION['email']) && !isset($_SESSION['password']))
{
    header("location:loginTemplate.php");
}
else
{
     $email = $_SESSION['email'];
}