セッションsession_start();
変数に関係する前に、ページの上部にいる必要があります。
ドキュメントから:
session_start()が呼び出されたとき、またはセッションが自動開始されたとき、PHPはopenおよびreadセッション保存ハンドラーを呼び出します。
コメントから編集:
<?php
session_name('MYSESSION');
session_set_cookie_params(0, '/~cgreenheld/');
session_start();
// Moved to start after answer was accepted for better readability
// You had the <?php after this if statement? Was that by mistake?
if(isset($_SESSION['admin']))
{
echo "<li><b>Admin</b></li>";
}
// If you have already started the session in a file above, why do it again here?
$conn = blah blah;
$query2 = 'Select Type from User WHERE Username = "'.$_SESSION['user'].'" AND Type =\'Admin\'';
// Could you echo out the above statement for me, just to
// make sure there aren't any problems with your sessions at this point?
$result2 = $conn->query($query2);
if($result2->num_rows==1)
{
$_SESSION['admin'] = $result2;
// It seems you are trying to assign the database connection object to it here.
// perhaps try simply doing this:
$_SESSION['admin'] = true;
}
?>
さらなるコメントから2を編集します:
あなたは実際にこのようにデータをフェッチする必要があります-このチュートリアルから抜粋すると、さらに役立つかもしれません:
$query = "SELECT name, subject, message FROM contact";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "Name :{$row['name']} <br>" .
"Subject : {$row['subject']} <br>" .
"Message : {$row['message']} <br><br>";
}
mysql_*
しかし、そうは言っても、それについて話している間は、古い関数から離れて、はるかに優れたPDOに移行したほうがよいでしょう。