2015-01-15 51 views
-3

我已經使用this website實現了一種基本的簡單登錄方法。我可以成功登錄,但我想檢索登錄到網站的會員的名字,以將其存儲到$_SESSION對象中。接收用戶登錄時的名字

$sql="SELECT * FROM users WHERE email='$myemail' and password='$mypassword'"; 
$result=mysql_query($sql); 

// Mysql_num_row is counting table row 
$count=mysql_num_rows($result); 

// If result matched $myusername and $mypassword, table row must be 1 row 

if($count==1){ 
    //$_SESSION[]; 
    // header("Location:http://localhost/website/test.php"); 
    } 
    else 
     echo "Wrong Username or Password"; 

Reference to the table

+0

不要使用'mysql_'函數。他們被棄用和不安全。使用PDO:http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers – muttley91

+0

@rar你好,我知道這一點。但對於我的課程,我的導師說他現在不介意'MySQL_'函數,下一課程,我們將使用'MySQLi'我需要使用這個函數。 – Moynul

回答

1

這是你想要做的嗎?

if($count==1) 
{   
    $row = mysql_fetch_row($result); 

    session_start(); 
    $_SESSION['first_name'] = $row['firstname']; 

    header("Location:http://localhost/website/test.php"); 
} 
+1

這就是我需要的。非常感謝你!很遺憾,人們對使用'MySQL_'給出了不好的反饋。 – Moynul

+0

@Moynul,很高興幫助。時代正在改變,每天都有更好的東西來:)我們必須接受他們的權利:) –

+1

我也瞭解,我也會改變我的方法,但現在我的老師要我使用舊的功能。 – Moynul

1

email字段必須包含唯一條目。

請參見id-4 & id-4這兩行都包含完全相同的數據。 至於你的答案,

if($count==1) 
{ 
$row = mysql_fetch_assoc($result); 
$f_name = $row['firstname']; 
} 

現在,如果[email protected]password=g那麼你的查詢將失敗,因爲$count不會1。所以有效的用戶也會看到登錄失敗消息。

+0

工作正常。做這份工作! – Moynul

+0

P.S - 我瞭解'count == 1'代碼。其他條目已被刪除。我正在使用「測試」作爲「測試」帳戶。 – Moynul