公共用户档案页面

时间:2013-09-21 04:58:33

标签: php mysql sql

我正在尝试为我的网站添加公开个人资料页面。基本上我有数据库所有设置和editprofile和东西。它全部正常工作,包括改变你的照片。

我想要做的是让这个文件“profile.php”成为如此,如果您转到这样的链接,例如。

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

它将使用用户标识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。

有人有想法吗? :)

2 个答案:

答案 0 :(得分: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会导致您无法进行注射。

答案 1 :(得分:0)

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