我有一个用户登录应用程序的php页面。它工作正常。 昨天,用户突然登录但被迫退出并再次重定向到登录页面。
我的数据库已登录用户的登录时间,此问题在约2小时后自动解决。
为什么会这样?
在以下代码中,它将检查会话值,如果找不到,则重定向到错误页面。 昨天,即使设置了会话值,也会重定向到错误页面。
<?php
if($_SESSION['ucd']<>"" && $_SESSION['sid']<>"" && $_SESSION['sid']<>0)
{
$query="select count(*) from active_sessions where user_cd='".$_SESSION['ucd']."'
and session_no='".$_SESSION['sid']."' and START_TM like DATE_FORMAT(now(),'%Y-%m-%d%')";
//echo $query;
$cnt=$dbop->select($query);
if($cnt[0] == '0')
{
$sender = "sender=".urlencode($_SERVER['PHP_SELF']);
session_unset();
header("Location:../login/error.html?$sender");
die;
}
else{
$query = "update active_sessions set LAST_ACTIVITY = NOW() WHERE SESSION_NO = ".$_SESSION['sid'];
mysql_query($query);
?>
<?php
}
}
else
{
$sender = "sender=".urlencode($_SERVER['PHP_SELF']);
session_unset();
header("Location:../login/error.html?$sender");
die;
}
?>
答案 0 :(得分:2)
我在代码中的任何地方都没有看到session_start()。