session_start();
$_SESSION['username'] = $user_info['username'];
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
如果这是什么开始每一页,我可以理解你刷新后没有看到任何东西了,原因很简单,你做什么是你开始你的会话,你设置$ _SESSION变量用户名$ User_info变量用户名。而且你每次都这样做。
但是考虑一下:在这一点上你的变量没有被指定。也许你在登录时设置它,但是,在下一次刷新时你会清除它,因为你再次使用$ user_info ['username']来告诉它。在这种情况下,没有任何东西需要调用,它将是一个空变量。因此,你的用户名将是空白的。
您的会话['用户名']也将为空,因为您告诉它会采取该信息。
既然你设置它,当你登录,没有必要respecify它,导致会话[“用户名”]已经设置
编辑
,所以我现在要问,是什么做你把你的数据库?你是否将SessionId保存在数据库中?因此,你可以做出这样的事情。
session_start();
$Session=session_id();
$result1 = LoadSessionData($Session);
$count=mysqli_num_rows($result1);
if($count=="0"){
$Time=time();
$Ip = $_SERVER['REMOTE_ADDR'];
StartSessionData($Session,$Time,$Ip);
$_SESSION['Username'] = '';
}else{
while ($row1 = mysqli_fetch_array($result1)){
$UserName = $row1['GebruikerNaam'];
if ($UserName == ""){
$_SESSION['Username'] = '';
}
$Time=time();
$Time_check=$Time-3600;
$Ip = $_SERVER['REMOTE_ADDR'];
OnlineChecker($Session,$UserName,$Time,$Ip);
}
}
我希望你能跟着它,但我会尽力解释。它检查sessionId是否在数据库中,如果不是,则将数据库中的会话ID与时间戳,IP和会话用户名一起添加到数据库中,该用户名设置为空白。
否则,我检查我回来,如果它有一个用户名,使用它。如果它是空白的,会话用户名将保持空白,导致它稍后使用该用户名进行检查,然后使用用户名,时间等更新数据库。
当您说“将用户重定向到主网站“,这是一个不同的网站?你如何重定向他们? – 2014-10-10 10:18:53
它不完全清楚你要求什么。你是否用'session_start();'开始每一页? – Dorvalla 2014-10-10 10:20:43
当然是的。而它的域名和服务器相同,甚至不是子域名,对于没有澄清这一点抱歉抱歉。 – 2014-10-10 10:22:14