PHP SESSION变量第一次不起作用

时间:2016-09-15 06:06:31

标签: php mysql session-variables

第一次未设置会话变量。从action.php转到employee.php但是在employee.php $ _SESSION [' EmpID']在我第一次登录时没有显示任何内容。如果我退出并再次登录,那么工作正常。在localhost中正常工作。

action.php

<?php
session_start(); 
if(isset($_POST['UserID'])&&isset($_POST['Password']))
{
$id = $_POST['UserID'];
$pass = $_POST['Password'];
$result = mysqli_query($con,"select * from auth_det where     UserName='$id' and Password='$pass'");
if(mysqli_num_rows($result)>0)
{
$row = mysqli_fetch_array($result);
//echo $row['UserID'];
//echo $row['Password'];
                $_SESSION['UserName']=$id;
                $_SESSION['EmpID'] = $row['EmpID'];
        $_SESSION['is_auth'] = true;
            $_SESSION['User'] = "Emp";
               echo "<script type='text/javascript'>window.location.href = 'Employee/employee.php'; </script>";
                 exit();

}

logout.php
<?php
session_start(); 
session_destroy();
echo "<script type='text/javascript'> document.location = '../login.php'; </script>";
?>


employee.php

session_start(); 
$EmpID=$_SESSION['EmpID'];
echo "EmpID=".$EmpID;
if(!isset($_SESSION['EmpID']))
{
echo "<script type='text/javascript'> window.location.href = 'logout.php'; </script>";
}

2 个答案:

答案 0 :(得分:0)

尝试将action.php移动到action.php文件。 首先,连接php不会在employee.php创建会话 然后,您将被重定向,{{1}}启动会话。 如果您稍后再次尝试此操作,则会话已经打开,因此您在动作php中没有任何问题。

同时考虑将Javascript重定向切换为标题重定向,因为如果客户端禁用了Javascript,它仍可正常工作

答案 1 :(得分:0)

请检查您是否忘记在session_start(); 页面顶部写action.php