2016-08-18 61 views
-2

好的,所以我建立了一個非常簡單的登錄和註冊數據庫,它的工作完美。PHP數據庫用戶選擇

不過,我已經創建的頁面,用戶可以查看自己acccount信息(用戶名和電子郵件)的一個不完全的工作。

我有一個數據庫有四列ID,用戶名,電子郵件和密碼。

所有我做的是從數據庫中的用戶信息(誰登錄),並在頁面上展示他們的用戶名和電子郵件。

的問題是,該代碼記錄每一個用戶在數據庫中,我只希望它選擇一個用戶

代碼(已登錄用戶):

<?php 
// SQL query 
$strSQL = "SELECT * FROM users"; 

// Execute the query (the recordset $rs contains the result) 
$rs = mysql_query($strSQL); 

// Loop the recordset $rs 
// Each row will be made into an array ($row) using mysql_fetch_array 
while($row = mysql_fetch_array($rs)) { 

    // Write the value of the column FirstName (which is now in the array $row) 
    echo $row['email'] . "<br />"; 
    echo $_SESSION['username']; 

    } 

// Close the database connection 
mysql_close(); 
?> 

我感謝您的幫助!

+0

注意:請使用'mysqli'而不是'mysql',因爲它已被棄用且很快被刪除。 –

回答

0

你的SQL查詢應該是這個樣子......

"SELECT * FROM users WHERE ID = '$user_id'" 

記住要解決任何SQL漏洞

$user_id = mysql_real_escape_string($user_id); 
+0

好吧,歡呼聲我會測試一下。 –

2

你可能需要在$_SESSIONusername值存儲在用戶的登錄會話。

if (!isset($_SESSION)) { 
    session_start(); 
    $_SESSION['id'] = the_id_of_your_logged_username; 
} 

然後使用存儲在$_SESSION來檢索所記錄的用戶的值。

session_start(); 
$id = $_SESSION['id']; 
$query = "SELECT * FROM users WHERE id='$id'"; 

在這些方法,你可以在用戶登錄如何獲取登錄的用戶,通常只是直接得到他們的個人資料。

+0

似乎合法,我會測試。 –

+0

你可以搜索關於'$ _SESSION'和其他全局變量的更多信息。 –

+0

我想我已經差不多了,麻煩的是我不知道要在$ _SESSION ['id'] = the_id_of_your_logged_username中放置什麼;線。如果我將id值設置爲2,它將記錄數據庫中的第二行,這不是目的,我希望代碼能夠識別登錄的用戶,然後顯示其數據。 –