2012-02-04 74 views
0
$query=sprintf("SELECT member FROM".$table_name."WHERE member=%s AND memberpwd=%s",$membername,$memberpassword); 
$result=mysql_query($query); 
if(!$result) 
{ 
    echo "Unable to select members"; 
    mysql_close(); 
    exit(); 
} 
$rowNum=mysql_num_rows($result); 
if(0!=$rowNum) 
{ 
    session_start(); 
    $user=mysql_result($result,0,'member'); 
    $_SESSION['user']=$user; 
    header('Location:index.php'); 
    echo "Welcome ".$user; 
     exit(); 
} 

我使用該代碼來驗證登錄用戶並開始他的會話,但瀏覽器中沒有顯示任何內容。我還希望登錄用戶出現在他訪問的每個頁面中,例如論壇登錄成員,但我不知道如何將Cookie與session進行存儲,以便在每次重訪時都能記住他。 。這是我做的最難的部分,有人可以幫我嗎?基本登錄用戶和會話加上cookie

編輯:對不起,我的PHP知識剛剛到達並停在那裏 - 會話部分。如果我可以有一個ABC會話解釋教程,這將是非常有益的,謝謝。

+0

對於SQL注入/黑客,您是開放的。首先查看參數化查詢,並在整個過程中安全地進行查詢,否則在第一位黑客開始之前就完成了。 – DRapp 2012-02-04 03:41:24

+0

謝謝,目前我只需要工作的東西。 – Mackintoast 2012-02-04 03:49:44

回答

0

第二種特殊情況是「位置:」標題。除了已經設置了201或3xx狀態碼 之外,它不僅會將此標題發送回瀏覽器,還會向瀏覽器返回REDIRECT (302)狀態碼。 (header() on php.net

<?php 
header("Location: http://www.example.com/"); /* Redirect browser */ 
/* Make sure that code below does not get executed when we redirect. */ 
exit; 
?> 

它不是因爲重定向的顯示。在index.php中放置echo "Welcome ".$_SESSION['user'];

0

沒有定義$member,在底部。

echo "Welcome ".$user;

...應該工作。

+0

謝謝你指出。我編輯我的帖子,登錄表單在發佈後仍然會產生相同的空白頁面。 – Mackintoast 2012-02-04 04:03:14