2016-08-18 87 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,它将记录数据库中的第二行,这不是目的,我希望代码能够识别登录的用户,然后显示其数据。 –