Я делаю авторизацию с ролями.Т.е у каждого пользователя своя роль(0-обычный пользователь ,1-админ).Для каждой роли предназначена своя информация.ПРоблема в том, что когда я ввожу логин и пароль пользователя с ролью 1,он не определяет, что это-админ.Выводит мне --- зарегистрирован Обычный пользователь
Вот моя таблица(users) в MYSQLе:
| Код | create table users ( id tinyint default '0' NOT NULL , login varchar ( 20 ) NOT NULL , pass varchar ( 20 ) NOT NULL , email varchar ( 40 ) NOT NULL , PRIMARY KEY ( login ) };
|
ВОТ ЗАПИСЬ В БД: id login pass email 1 admin 161291 Eugen@adsl.by
Вот моя проверка ЛОГИНА И ПАРОЛя:
| Код | <?php $db_name="users"; $table="users"; $host="localhost"; $user="root"; $pass="161291"; $link=mysql_connect($host,$user,$pass) or die(mysql_errno($link).mysql_error($link)); $db=mysql_select_db($db_name,$link) or die(mysql_errno($link).mysql_error($link)); $login=$_POST['login']; $pass=$_POST['pass']; $sqlquery = "select * From users WHERE login = \"$login\""; $result=mysql_query($sqlquery, $link) or die(mysql_errno($link).mysql_error($link)); $data=mysql_fetch_array($result); if ($login==$data[1] && $pass==$data[2]){ session_start(); $_SESSION['is_logged'] = TRUE; $_SESSION['user_role'] = $data[0]; header('Location: admin.php'); } else { echo ("Неверный логин или пароль");} exit();
//А ЭТО СТРАНИЧКА РАСПРЕДЕЛЕНИЯ РОЛЕЙ(admin.php):
<?php if((!isset($_SESSION['is_logged'])) || ($_SESSION['is_logged']==TRUE)){ echo ("ЗАрегистрирован"); if($_SESSION['user_role']==1){ echo ("АДМИН");} else { echo ("Обычный пользователь");} } else { echo ("НЕ ЗАРЕГиСТРИРОВАН"); } ?>
//Но ерунда в том, что если я меняю : if((!isset($_SESSION['is_logged'])) || ($_SESSION['is_logged']==TRUE)){ echo ("принимает регистрацию"); if($_SESSION['user_role']==0){ echo ("АДМИН");} else { echo ("Обычный пользователь");} } else { echo ("НЕ ЗАРЕГЕСТРИРОВАН"); }
|
ТО пишет------зарегистрирован АДМИН.Значит ошибка в том, что сессия не правельно записывает значение роли, или не правельно его забирает.
ПОМОГИТЕ ПЛИЗ.БУДУ ОЧЕНЬ ПРИЗНАТЕЛЕН.
! PARROT | Пользуемся кнопкой КОД |
|