4

我正在尝试为我的网站合并一个公共个人资料页面。基本上我有数据库所有设置和编辑配置文件和东西。它所有工作 100% 正常,包括更改您的图片。

我想要做的是制作这个文件“profile.php”,这样如果你转到这样的链接,例如。

http://local.com/profile.php?id=8

它会将您带到用户 ID 为 8 的用户并显示信息。

我在想我可以让它 SELECT * FROM users WHERE id='$userid'。

我使用 $id 作为查看页面的人的用户 ID,但我必须将 $userid 设为一个变量,以保存您正在查看的任何配置文件的 ID。

接下来我可以做这样的事情

$id=$_SESSION['id'];
$result3 = mysql_query("SELECT * FROM users where id='$userid'");
while($row3 = mysql_fetch_array($result3))
{ 
$username=$row3['username'];
$email=$row3['email'];
$firstname=$row3['firstname'];
$lastname=$row3['lastname'];
}

我想我的问题是如何使它 $userid 等于您正在查看的任何配置文件并使其链接 profile.php?userid=8 将您带到用户 8。

有人有想法吗?:)

4

2 回答 2

3

最短的答案是

$userid = mysql_real_escape_string($_GET['id']);
$result3 = mysql_query(....);
//....

答案的较长版本是,您不应该使用 mysql_query 因为它已被弃用,并将在较新版本中删除。您可以移至 PDO 或 mysqli。假设你想坚持使用遗留函数 mysql_*,你需要使用它mysql_real_escape_string来保护自己免受 SQL 注入。但是,使用不当mysql_real_escape_string会导致您在注射时刀枪不入。

于 2013-09-21T05:02:22.170 回答
0

$_GET['$variable'];使用此方法从 URL 栏获取数据。如果您在表单中使用 post 方法,那么请使用$_POST['$variable'];

于 2013-09-21T05:15:25.410 回答