我正在爲客戶端登錄系統,我遇到了一個問題,我不確定如何解決。我已經設置好了,當用戶試圖訪問某個目錄的index.php時,他們需要登錄。我已經這樣做的代碼是:PHP登錄腳本 - 可能的會話錯誤
<?php
session_start();
if(!$_SESSION['myusername']){
header("location:Login_admin.php");
}
?>
在Login_admin.php頁,還有用行動=「checklogin.php」的形式。這裏是它連接到數據庫,並開始在那裏它存儲了用戶名會話:()
if($count==1){
session_start();
// Register $myusername, $mypassword and redirect to file "login_success.php"
$_SESSION['myusername'];
$_SESSION['mypassword'];
header("location:index.php");
}
原來上面的代碼不具備的session_start,所以我說的是,在試圖解決我的問題。
實際的問題是會話沒有註冊。如果我轉到導演的其中一個頁面(他們都有頂部的第一段代碼)並登錄,就會像我想要的那樣發送給index.php,但是當我嘗試返回該頁面時它使我再次登錄。有一次,我在索引頁上獲得了第一段代碼,即使登錄了正確的日誌,它也會循環回登錄頁面。
我被一個朋友看到了這個腳本,並沒有真正改變太多。本來劇本有:
session_register("myusername");
但一些調試後,我把它改爲:
$_SESSION['myusername'];
最後一點,我不是專家的問題可能認爲是一個愚蠢的錯誤,但對於生活我無法弄清楚。
在此先感謝!
下面的兩個答案都幫助我解決了這個問題。多謝你們! – 2012-03-31 17:18:28