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

时间:2015-09-11 12:08:18

标签: php html variables undefined

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

<!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>

但是我收到一个错误,说变量未定义

3 个答案:

答案 0 :(得分:0)

您尚未在任何地方定义$email

纠正这条线:

$_SESSION['email'] = $email;

$email = $_SESSION['email'];

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

多数民众赞成。

答案 1 :(得分:0)

尝试将您的逻辑更改为:

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

可能您的会话未设置,因为您未被重定向到loginTemplate.php,因此使用OR选项时,它将无法输入所需的条件,但将与&&条件一起使用

答案 2 :(得分:0)

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