尝试创建动态配置文件页面时出错


getting error when trying to make dynamic profile pages

我正在尝试创建一个动态配置文件页面,每个人都可以使用链接www.example.com/user/$id查看。

个人资料页工作-它们不是公开的,其他人还看不到。我试着把这个部分添加到代码中:

<?php
$id = (isset($_GET['id']) ? $_GET['id'] : NULL);
if ($userid) {
    $userinfo = $db->query_first("SELECT * FROM `users` WHERE `id` = '$userid'");
    print_r($userinfo);
}
?>

使用自定义链接(或basic/profile.php?id=$id)时会显示错误。

这是完整的配置文件代码:

<!DOCTYPE html>
<html>
<head>
<!--START HEAD-->
    <?php include 'head.php'; ?>
    <link rel='stylesheet' type='text/css' href="/profile.css"/>
    <title><?php echo htmlentities($_SESSION['user']['username'], ENT_QUOTES, 'UTF-8'); ?>'s profile</title>
<!--END HEAD-->
</head>
<body>
<!--START BODY-->
<?php
    // At the top of the page we check to see whether the user is logged in or not 
    if(empty($_SESSION['user'])) 
    { 
        include'navigationbar.php';
    } else {
        include'navigationbar2.php';
    }
?>
<!--MAIN CONTENT-->
<div class="movedown"></div>
<div class="content">

<?php
$userid = (isset($_GET['id']) ? $_GET['id'] : NULL);
if ($userid) {
    $userinfo = $db->query_first("SELECT * FROM `users` WHERE `id` = '$userid'");
    print_r($userinfo);
}
?>

<!--MAIN PROFILE-->
<div class="username">
<?php if(empty(htmlentities($_SESSION['user']['clan'], ENT_QUOTES, 'UTF-8'))){
    echo "";
}else{
    echo "[".htmlentities($_SESSION['user']['clan'], ENT_QUOTES, 'UTF-8')."]";} ?>

<?php echo htmlentities($_SESSION['user']['username'], ENT_QUOTES, 'UTF-8'); ?>
<div class="fr">ID: <?php echo htmlentities($_SESSION['user']['id'], ENT_QUOTES, 'UTF-8');  ?></div></div>
<div class="spacing"></div>

<div class="fl">
<!--####################################### NEED CODE FOR DEFAULT AVATAR AND CUSTOM AVATAR ######################################################-->
<!--AVATAR-->
<div class="avatarback">
    <div class="avatar"><img src="/bin/avatar/default_picture/default.jpg" width="180px"/></div>
</div>
<!--####################################### NEED CODE FOR DEFAULT AVATAR AND CUSTOM AVATAR ######################################################-->

<!--TITLES / SIGNS-->
<div class="signs"><br/>
    <div class="title"><div class="fl">Title:       </div>
<div class="fr"><?php echo htmlentities($_SESSION['user']['title'], ENT_QUOTES, 'UTF-8'); ?>       </div></div><!--TITLE-->
        <div class="spacing"></div>

    <div class="warnings"><div class="fl">Warnings: </div>
<div class="fr"><?php 
if($_SESSION['user']['banned'] == 1){
    echo "<div class='red'>Banned</div>";
}else{
echo htmlentities($_SESSION['user']['warnings'], ENT_QUOTES, 'UTF-8');
}
?>    </div></div><!--WARNINGS-->
        <div class="spacing"></div> 

    <div class="joined"><div class="fl">Joined:     </div>
<div class="fr"><?php echo htmlentities($_SESSION['user']['timestamp'], ENT_QUOTES, 'UTF-8'); ?>  </div></div><!--JOINED-->
</div>
</div>

<div class="padding"></div>
<!--BIO-->
<div class="bioback">
<?php if(empty(htmlentities($_SESSION['user']['bio'], ENT_QUOTES, 'UTF-8'))){
    echo "This user has not set any bio yet...";
}else{
    echo htmlentities($_SESSION['user']['bio'], ENT_QUOTES, 'UTF-8'); } ?>
</div>

<!--SETTINGS TAB-->
<div class="etc-back">
<div><a href="/messages">Message</a></div>
    <div class="spacing2"></div>    
<div><a href="/settings">Settings</a></div>
</div>
<br/>
<br/>
<div class="padding"></div>
<div class="email">
<div class="fl">E-mail:</div><div class="fr"><a href="mailto:<?php echo htmlentities($_SESSION['user']['email'], ENT_QUOTES, 'UTF-8'); ?>"><?php echo htmlentities($_SESSION['user']['email'], ENT_QUOTES, 'UTF-8'); ?></a></div>
</div>
</div>
</body>
</html>

抱歉英语不好,一团糟。

您的变量的名称似乎有所不同。。试着用相同的名字命名:

<?php
$id = (isset($_GET['id']) ? $_GET['id'] : NULL);
if ($id) {
    $userinfo = $db->query_first("SELECT * FROM `users` WHERE `id` = '$id'");
    print_r($userinfo);
}
?>