第一次未设置会话变量。从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>";
}
答案 0 :(得分:0)
尝试将action.php
移动到action.php文件。
首先,连接php不会在employee.php
创建会话
然后,您将被重定向,{{1}}启动会话。
如果您稍后再次尝试此操作,则会话已经打开,因此您在动作php中没有任何问题。
同时考虑将Javascript重定向切换为标题重定向,因为如果客户端禁用了Javascript,它仍可正常工作
答案 1 :(得分:0)
请检查您是否忘记在session_start();
页面顶部写action.php