php - 在PHP中获取特定用户的数据

标签 php mysql database authentication

现在我已经创建了一个带有 session 的登录表单,我现在需要的是当用户使用他的用户名和密码登录时,获取他的数据,如姓名、关于等。并将其放入欢迎页面。

目前我已经创建了这段代码,但是这段代码获取了所有用户数据,

 <?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

最佳答案

由于您已经使用 session 创建了一个登录表单,因此您可以通过执行以下操作获取当前登录用户的数据:

$_SESSION['userid']:应该在登录页面填写。 $_SESSION['userid'] = $id

了解有关 session 的更多信息: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>

关于php - 在PHP中获取特定用户的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17075424/

相关文章:

sql - 在 ASP 中如何只显示数据库表中的某些行?

php - 无法使用ajax将变量发送到php

php - 测试时在模型上设置属性

php - MySQL 选择时间戳是否过去

mysql - 在存储过程中添加引号

database - 如何修复使用 Microsoft 数据库发布向导生成的脚本中的 "incorrect syntax near GO"错误?

php - wp_insert_post 带有表单

php - 无法从 JSON 响应中获取正确的字符串?

mysql - 处理失效订阅的最佳方式

MySQL 查询 avg 和 count 大于一个值