现在我已经创建了一个带有会话的登录表单,我现在需要的是当用户使用他的用户名和密码登录时,获取他的数据,如姓名等等,并将其放入欢迎页面。
目前我已创建此代码,但此代码可获取所有用户数据
<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("usersdata") or die(mysql_error());
$data = mysql_query("SELECT * FROM userid")
or die(mysql_error());
Print "<table border cellpadding=3>";
while($info = mysql_fetch_array( $data ))
{
Print "<tr>";
Print "<th>Name:</th> <td>".$info['Name'] . "</td> ";
Print "<th>Username:</th> <td>".$info['Email'] . " </td></tr>";
}
Print "</table>";
?>
我希望找到一种方法来做到这一点。 :d
答案 0 :(得分:1)
虽然你应该使用mysqli_扩展名而不是mysql_,但你需要这样的东西:
$result = mysql_query("SELECT * FROM userid WHERE username = '" . $username . "'")
or die(mysql_error());
if(mysql_num_rows($result) == 1) {
//Found the user
$row = mysql_fetch_array($result);
//Results can be accessed like $row['username'] and $row['Email']
} else {
//Too few or too many records were found
}
注意:我使用username ='$ username'作为示例。最好从登录过程中跟踪用户的ID,因为ID指的是特定的行。
答案 1 :(得分:0)
您的示例代码从数据库中检索所有用户,并使用while
循环遍历数据。
要获取已登录的用户,您需要更改获取数据的查询。 我假设你的表中有一个主键,并且因为用户已经登录而知道id。
$data = mysql_query("SELECT * FROM userid WHERE id={$userid}");
$info = mysql_fetch_array( $data );
echo $info['Name'];
$info
现在将包含1个用户的所有用户信息,您需要使用登录用户的实际ID填充$userid
。
答案 2 :(得分:0)
$data = mysql_query("SELECT * FROM userid")
应该是
$data = mysql_query("SELECT * FROM userid WHERE Name='$selectedName'")
当然,您需要定义$selectedName
我还建议您阅读http://dev.mysql.com/doc/refman/5.0/en/select.html以了解一些基本原则。
答案 3 :(得分:0)
由于您已经使用会话创建了登录表单,因此您可以通过执行以下操作获取当前登录用户的数据:
$_SESSION['userid']
:应填写登录页面。
$_SESSION['userid'] = $id
详细了解会话:PHP Sessions W3schools
然后:
$query= mysql_query("SELECT * FROM `userid` WHERE `id` = '".$_SESSION['userid']."' ")or die(mysql_error());
$arr = mysql_fetch_array($query);
$num = mysql_numrows($query); //this will count the rows (if exists)
<强> HTML 强>
<html>
//...
<?php if($num > 0){ ?>
<table border="1" cellpadding="3">
<tr><td colspan="2" align="center">Your Info</td></tr>
<tr>
<td>Name: <?php echo $arr['Name']; ?></td>
</tr>
<tr>
<td>Email: <?php echo $arr['Email']; ?></td>
</tr>
</table>
<?php }else{ ?>
User not found.
<?php } ?>
//...
</html>