Show user id’s profile
我的用户资料有问题。我的意思是我想查找用户配置文件(例如:我是用户 1,但我想查找用户 2 的配置文件)但是如果我在 Url 中写(例如:localhost/$userID 配置文件页面中没有任何变化只是显示信息来自我-用户 1)
这是我的用户个人资料的 HTML 代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
<table style ="height:70px" class=‘table table-bordered table-hover table-striped’>
<tr >
</tr> <tr> <td>Username</td> <td><?php echo $row[‘userName’]; ?></td>
</tr> <tr> <td>Name</td> <td>…….</td>
</tr> <tr> <td>Gender</td> <td><?php echo $row[‘sex’]; ?></td>
</tr> <tr> <td>Nickname</td> <td><?php echo $row[‘nickname’]; ?></td>
</tr> <tr> <td>Rank</td> <td><?php echo $row[‘Rank’]; ?></td>
</tr></table> |
这是我用于 user_ID 的 php 代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
<?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);
?> |
在我的网址中是这样说的:
1 2 3
|
<li>
=<?php echo $row[‘userName’]; ?>‘>
</li>
|
我在互联网上寻找示例,但我真的不知道我的代码中缺少什么
非常欢迎你们提供一点帮助 :p
- 您使用会话中的 id,而不是 url
-
@Dagon okey 现在我可以寻找其他用户,但这是另一个问题……当我寻找 user_id 2 时将名称更改为 user_id 2(这是一个示例:gyazo.com/c4ead5b6d916babb35100b65e855e2e7
-
使用查看器的会话,显示配置文件的 url id
您可以更改 SQL 查询中的 WHERE 子句
而不是使用 $_SESSION[‘userSession’] 您可以使用 $_GET[‘id’] 并在您的个人资料链接中使用 profil.php?id=X 其中 X 是您想要查看其个人资料的人的用户 ID。
因此,某人查看自己的个人资料的链接是:
My Profile
确保使用 is_numeric 来验证用户输入,并在没有具有该 ID 的用户时显示默认消息。
- 好的,现在我可以寻找其他用户,但这是另一个问题……当我寻找 user_id 2 时,将名称更改为 user_id 2(这是一个示例:gyazo.com/c4ead5b6d916babb35100b65e855e2e7
-
@Hartman看起来您正在使用一个函数从ID中获取用户名,您可以发布该代码吗?我想您发送了错误的 ID 作为参数
-
@Michael O Maulain 确定我会将其作为问题的答案发布,因为这里的代码不起作用:S 或这里的代码为图像 gyazo.com/ab9f60faf273c463366a93e9fadc1e8d
-
@Hartman 您需要做的是使用 $_SESSION[‘userSession’] 来显示登录用户,然后对于用户配置文件使用 $_POST[‘id’] – 不要使用两次
-
@Michael O Maolain 是的,现在它可以工作了,但是我如何使用 userid 的用户名来显示登录用户?
-
@Hartman 我不明白你的意思,你想显示任意用户配置文件还是登录用户的配置文件?
-
@Michael O Maulain 我想在同一页面上显示两者了解吗?
-
@Hartman您将不得不调用您的函数来显示用户名两次。一次用于用户配置文件,然后再次用于登录用户
-
@Michael O Maulain 好吧,我正在尝试这样做,但做得不太好:D 无论如何感谢您的帮助!
-
让我们在聊天中继续这个讨论。
您使用会话中的 id,而不是 url
改变
1
|
$stmt->execute(array(":uid"=>$_SESSION[‘userSession’]));
|
到
1
|
$stmt->execute(array(":uid"=>$_GET[‘id’]));
|
现在你有了来自 url 的 id,你想看到的用户的 id。
和
的 url
添加id=标准做法,如果你只想要?99你可以得到$_SERVER[‘QUERY_STRING’]
中的字符串
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/268559.html