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