2013-01-09 44 views
0

我正在構建Web應用程序aas我的主要項目的學位。簡單的登錄正在工作,但現在我試圖實現cookie和我的腳本不工作的原因。我需要找出原因,但最後2小時不能做。這裏是我的問題:jQuery手機登錄,PHP,餅乾不工作

從登錄表單變量傳遞到我的登錄腳本(沒有安全的密碼或jql注入實施到目前爲止),當我按登錄錯誤出現,「Error Loading Page」,這是登錄腳本:

session_start(); 

$username = $_GET["name"]; 
$password = $_GET["password"]; 
$remember_me = $_GET['remember_me']; 

include('mysql_connection.php'); 
mysql_select_db("jzperson_imesUsers", $con); 

$res1 = mysql_query("SELECT * FROM temp_login WHERE username='$username' AND password='$password'"); 
$count1=mysql_num_rows($res1); 

if(isset($_COOKIE['usr_IMes']) && isset($_COOKIE['psw_IMes'])){ 
        $user_n = $_COOKIE['usr_IMes']; 
        $pasw_n = $_COOKIE['psw_IMes']; 

        $res2 = mysql_query("SELECT * FROM temp_login WHERE username='$user_n' AND password='$pasw_n'"); 
        $count2=mysql_num_rows($res2); 

        if($count2 == 1){ 

            $_SESSION['username'] = $user_n; 

            header('Location: http://imes,jzpersonal.com/userpanel.php'); 

        }else { 
            setcookie('usr_IMes', $user_n, time() - 31*24*60*60); 
          setcookie('psw_IMes', $pasw_n, time() - 31*24*60*60); 

            header('Location: http://imes,jzpersonal.com/index.html'); 
        } 

}else{ 

if($count1==1){ 
    $_SESSION['username'] = $username; 

    if(isset($remember_me)){ 

setcookie('usr_IMes', $username, time() + 30*24*60*60); 
setcookie('psw_IMes', $password, time() + 30*24*60*60); 

header("Location: http://imes.jzpersonal.com/userpanel.php"); 
    }else{  

     header("Location: http://imes.jzpersonal.com/userpanel.php"); 

    } 
}else{ 
    $login = "failed"; 
} 
} 

任何人都可以看到我的腳本中的問題?在登錄部分?如果不是在這裏是在每一頁的開始我的驗證腳本,也許我的錯誤有:

session_start(); 

if(isset($_COOKIE['usr_IMes']) && isset($_COOKIE['psw_IMes'])){ 
        $user_n = $_COOKIE['usr_IMes']; 
        $pasw_n = $_COOKIE['psw_IMes']; 

        $res2 = mysql_query("SELECT * FROM temp_login WHERE username='$user_n' AND password='$pasw_n'"); 
        $count2=mysql_num_rows($res2); 

        if($count2 == 1){ 
            header('Location: http://imes,jzpersonal.com/userpanel.php'); 
        }else { 
            setcookie('usr_IMes', $user_n, time() - 31*24*60*60); 
          setcookie('psw_IMes', $pasw_n, time() - 31*24*60*60); 

            header('Location: http://imes,jzpersonal.com/index.html'); 
        } 

}else{ 

if(!isset($_SESSION['username'])) 
{ 
header('Location: http://imes.jzpersonal.com/index.html'); 
} 

if(empty($_SESSION['username'])) 
{ 
header('Location: http://imes.jzpersonal.com/index.html'); 
} 
} 

希望某些錯誤會被發現,謝謝你的幫助。

回答

2

重定向是一個錯誤的網址:http://imes,jzpersonal.com/userpanel.php - 這會給你你的「錯誤加載頁面」。除此之外,你不應該在cookies中存儲用戶名/密碼 - 這是一種可怕的做法,因爲cookie可以在機器上查看。另外,您正在使用已棄用的原始PHP MySQL API - 您應該使用PDO或mysqli。

+0

如果答案不明顯,您需要更改標題('Location:....');指向http://imes.jzpersonal.com/userpanel.php而不是上面的錯誤URL。 – Jack

+0

它是,直到早上才檢查它,謝謝你的幫助,也是一個問題。如果我不應該在Cookie中存儲用戶名/密碼,我應該使用什麼?我應該存儲身份證嗎? –

+1

您應該生成一個唯一標記(例如日期+隨機數的md5校驗和),並將其存儲在數據庫表和Cookie中。您可以將該令牌與數據庫中的令牌進行匹配 - 並且如果它們匹配,則用戶登錄。確保您在數據庫和cookie上設置了過期時間,併爲用戶提供「註銷」選項,以清除令牌的數據庫。你可以很容易地在Google上找到這方面的例子,就在SF上。 – Jack