我的用户个人资料有问题。我的意思是,我想寻找用户配置文件(例如:我是用户1但我想查找用户2的配置文件),但如果我写在Url中(例如:localhost / $ userID配置文件页面中没有任何更改只显示信息来自我 - 用户1)
以下是我的用户个人资料的HTML代码:
<table style="height:70px" class='table table-bordered table-hover table-striped'>
<tr>
</tr>
<tr>
<td><b>Username</b></td>
<td><b><?php echo $row['userName']; ?></b></td>
</tr>
<tr>
<td><b>Name</b></td>
<td>.......</td>
</tr>
<tr>
<td><b>Gender</b></td>
<td><?php echo $row['sex']; ?></td>
</tr>
<tr>
<td><b>Nickname</b></td>
<td><?php echo $row['nickname']; ?></td>
</tr>
<tr>
<td><b>Rank</b></td>
<td><?php echo $row['Rank']; ?></td>
</tr></table>
这是我用于user_ID的PHP代码:
<?php
session_start();
require_once 'class.user.php';
$user_home = new USER();
if(!$user_home->is_logged_in())
{
$user_home->redirect('index.php');
}
$stmt = $user_home->runQuery("SELECT * FROM tbl_users WHERE userID=:uid");
$stmt->execute(array(":uid"=>$_SESSION['userSession']));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
?>
在我的网址中说的是:
<li><a href='profil.php?=<?php echo $row['userID']; ?>=<?php echo $row['userName']; ?>'></li>
我在互联网上寻找示例,但我真的不知道我的代码中缺少什么
非常欢迎你们的帮助:p
答案 0 :(得分:1)
您使用会话中的ID,而不是网址
变化
$stmt->execute(array(":uid"=>$_SESSION['userSession']));
到
$stmt->execute(array(":uid"=>$_GET['id']));
现在您拥有了网址中的ID,即您想要查看的用户ID。
和
的网址<a href='profil.php?id=<?php echo $row['userID']; ?>
添加id=
标准做法,如果您只是想?99
,可以在$_SERVER['QUERY_STRING']
答案 1 :(得分:1)
您可以在SQL查询中更改WHERE子句
您可以使用$_SESSION['userSession']
而不是使用$_GET['id']
,并在指向配置文件的链接中使用profil.php?id=X
,其中X是您要查看其个人资料的人的用户ID。
所以有人看到自己的个人资料的链接是:
<a href="profil.php?id=<?php echo $_SESSION['userSession'];">My Profile</a>
确保使用is_numeric
验证用户输入,并且如果没有具有该ID的用户,则显示默认消息。