2012-07-18 107 views
0

我设置了所有登录脚本和配置文件。我有一个数据表,其中存储的所有配置文件信息都被称为plus_signup,但我似乎无法得到此GET[id]的东西的工作。我错过了什么吗?这是我的。 当我用现在的代码查看页面时,PHP应该填充变量的空白区域。PHP变量没有显示出来。 GETid无法正常工作

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\"/>"; 
}} 

回答

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 = $ id时,你需要搜索ID = $ userid的位置。

请确保您的变量始终是相同的!

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