【发布时间】:2015-10-08 16:13:39
【问题描述】:
我似乎在从profile.php 上的用户那里获取 ID 时遇到了困难。
profile.phpPHP:
<?php
session_start();
require 'include/connect.php';
if(!$_SESSION['key']){
header('Location: login.php');
}
$uid = $_GET['id'];
$sql = "SELECT * FROM users WHERE id = '$uid'";
$query = mysql_query($sql);
while($row = mysql_fetch_array($query)){
$user = $row['username'];
}
?>
如您所见,当您使用获取数据添加到 url 时 (EX:profile.php?id=3)
您访问相应用户的个人资料;但是我想获取用户的 ID 并从数据库中提取他们的信息,以便他们在转到 profile.php 时查看自己的个人资料。(不添加 GET 扩展)
问题:我可以使用什么方法来使用用户的 id # 进行查询?另外,我是否需要为此存储一个会话。
【问题讨论】:
-
会话“密钥”是否让您识别当前登录的用户?
-
不,它只代表用户是否实际登录。因此,无论用户是否登录,我都可以相应地更改页面。我是否应该将此会话也作为用户 ID 的标识符?
-
您可以在会话'key'中添加用户ID,并在该'key'的帮助下查询以查看profile.php
-
是的,您应该并且请不要运行 while 循环,while 循环意味着您正在获取与 WHERE 子句匹配的所有记录,并且我确定您不想向一个用户显示所有配置文件
-
@shehary 他可能希望其他人能够查看他们的个人资料。这很常见。甚至这个网站也允许这样做。