2016-03-28 20 views
0

リンクプロファイル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); 
} 
?> 

カスタムリンク(または基本/profile.php?id=$id)を使用した場合、それはエラーをdisplais。悪い英語と混乱して申し訳ありません

<!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> 

:ここ

は完全プロフィールコードです。

+0

'$のuserid'は*必ず*セットです。 NULLに設定されている場合はNULLをクエリします –

+0

何がエラーですか?私は 'session_start()'もどこにも見ません。 –

+0

何らかのフレームワークを使用していますか? 'query_first()'関数はどこから来たのですか?通常は 'query()'だけです。 –

答えて

0

あなたの変数は彼らに同じ名前を付けてみ..異なって命名されているように見える:

<?php 
$id = (isset($_GET['id']) ? $_GET['id'] : NULL); 

if ($id) { 
    $userinfo = $db->query_first("SELECT * FROM `users` WHERE `id` = '$id'"); 
    print_r($userinfo); 
} 
?> 
+0

フルコードでは異なる名前は付けられていません。 –

+0

彼は2番目の@Zakの例で '$ userid'を使っています。 –

+0

@JayBlanchardはいこれは私がこの部分を見つけた方法です。 – Martin

関連する問題