0

我已经设置了所有登录脚本和配置文件。我有一个数据表,其中存储了所有配置文件信息,plus_signup但我似乎无法让这个GET[id]东西工作。我错过了什么吗?这就是我所拥有的。当我使用我现在拥有的代码查看页面时,PHP 应该填写变量的空白区域。

session_start();

include "include/z_db.php";

if ($_GET['id']){

$id = $_GET['id'];

} else if (isset($_SESSION['id'])) {

$id = $_SESSION['id'];

}
else {
print "important data to render this page is missing";
exit();

$sql = mysql_query("SELECT * FROM plus_signup WHERE id='$userid'");

while($row = mysql_fetch_array($sql)){

$userid = $row["userid"];
$name = $row["name"];
$location = $row["location"];
$sex = $row["sex"];
$aboutme = $row["aboutme"];

}

$check_pic = "users/$id/image01.jpg";
$default_pic = "users/0/image01.jpg";
if (file_exists($check_pic)){
$user_pic = "<img src=\"$check_pic\" width=\"175px\"/>";
} else {
$user_pic = "<img src=\"$default_pic\"/>";
}}
4

1 回答 1

1

我知道这有点晚了,你可能已经想出了这个问题的答案,但我遇到了同样的问题,只是想出来了。

您的 SQL 查询正在调用尚未定义的变量。

session_start();

include "include/z_db.php";

if ($_GET['id']){

$id = $_GET['id'];

} else if (isset($_SESSION['id'])) {

$id = $_SESSION['id'];

}
else {
print "important data to render this page is missing";
exit();

$sql = mysql_query("SELECT * FROM plus_signup WHERE id='$userid'");

while($row = mysql_fetch_array($sql)){

$userid = $row["userid"];
$name = $row["name"];
$location = $row["location"];
$sex = $row["sex"];
$aboutme = $row["aboutme"];

}

$check_pic = "users/$id/image01.jpg";
$default_pic = "users/0/image01.jpg";
if (file_exists($check_pic)){
$user_pic = "<img src=\"$check_pic\" width=\"175px\"/>";
} else {
$user_pic = "<img src=\"$default_pic\"/>";
}}

您从 url 获取“id”并将其存储为 $id。当您调用查询时,您正在让它搜索 ID = $userid,而您确实应该让它搜索 ID = $id。

确保您的变量始终相同!

^希望能帮助一些人在试图弄清楚他们的功能为什么不起作用时避免一两个小时的挫败感!

于 2013-06-18T16:23:29.207 回答