Dane pobierane z bazy do sesji

0

Witam,
Napisałem sobie krótki skrypt oparty na sesjach panelu admina. Mam do niego dostęp jak się zaloguję, ale chciałbym wprowadzić zmianę tak, aby nie każdy kto się zarejestruje mógł wejść do niego. Chcę wprowadzić zmianę taką, że jeżeli w bazie danych w polu user_admin mam wpisanie "tak" to mam dostęp, a jeżeli "nie" to jest brak dostępu oczywiście wykorzystując sesję. Coś jest chyba nie tak bo mi nie działa. Bardzo proszę o pomoc.

<?php
session_start();
 
require("silnik.php");
 
$result = mysql_query("SELECT user_admin FROM ".$db_prefix."uzytkownik ");
while($row = mysql_fetch_array($result)){
$admin[] = $row['user_admin'];
}
 
if(empty($_SESSION["zalogowany"])){
$_SESSION["zalogowany"]=0;
$_SESSION['user_admin']= $admin;
 
}
 
?>
<?php
if($_SESSION["zalogowany"]!=0) {
if($_SESSION["user_admin"]== 'tak') {
?>
<html>
<body background="obrazki/tlo.gif">
<table><tr><td>
<br><a href="admin.php">Panel administratora</a>
<br><a href="admin.php?akcja=#">Dodaj newsa</a>
<br><a href="admin.php?akcja=#">Dodaj panel </a>
<br><a href="admin.php?akcja=#">Dodaj artykuł</a></table>
<?
 
$akcja = $_GET[akcja];
if($akcja=="")
{
include("index.php");
}
else
{
include($akcja.".php");
}
?>
<?php } else { ?>
<h3>Aby uzyskać pełen dostęp do serwisu musisz posiadać prawa administratora</h3>
<?php }} else { ?>
<h3>Aby uzyskać pełen dostęp do serwisu musisz się zalogować</h3>
<?php } ?>
</body></html>
0

Najpierw masz:

$admin[] = $row['user_admin'];

Czyli zmienna $admin jest tablicą, następnie

$_SESSION['user_admin']= $admin;

i następnie:

if($_SESSION["user_admin"]== 'tak')

Czyli w skrócie mówiąc przyrównujesz tablicę do łańcucha, co oczywiście zwróci false.

Radzę Ci jeszcze zmienić konwencję nazewnictwa. Zamiast operować na 'tak' i 'nie' lepiej jest zdefiniować sobie prostą klasę ze stałymi. np:

class userInfo
{
	const ADMIN = 0;
	const MODERATOR = 1;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1