Проблема с передачей данных на другие страницы при помощи Сессии

Vahan

Новичок
Проблема с передачей данных на другие страницы при помощи Сессии

Ребят долго искал решения, и не смог найти.

Вот у меня система авторизации.
Всё работает отлично, при попытке войти на страницы без авторизации, выбрасывает на страницу авторизации.

Проблемы начались когда я решил сделать ранги пользователей.
Например: [5] это Админ, [1]-гость, [2]-пользователь.. итд..
Проверка идёт по запросу

PHP:
if($_SESSION["user"][2]==5){...}
else{$text="У вас нет доступа к данной странице!";}
При авторизации делаю так(Конечно после удачной авторизации):

PHP:
function login($name, $pass)
{
 $query="select * from user where name='".$name."' and password='".$pass."'";
 $result=mysql_query($query);
 $row=mysql_fetch_row($result);
 return $row;
}

$_SESSION["user"]=login($login,$pass);
Причём function login, в файле func.php который прикрепляется в начале при помощи require.

После авторизации всё пашет, пока я в странице "home.php",
страницы меняю при помощи switch. (Именно эти страницы проходят проверку ранга).
Но если я попробую войти на другую страницу, ну например "test.php", $_SESSION["user"] становится пустой (Проверял при помощи print_r).
При возвращении на страницу "home.php", меня не пускает на страницы и пишет "У вас нет доступа к данной странице!", так как $_SESSION["user"] пуста, и из за этого не проходит проверку.

Примечание:
1) В самом начале обеих файлов стоит session_start().
2) Оба файла (home.php, test.php), проверяются командой:
PHP:
if(!isset($_SESSION["user"]))
{ 
echo '<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
location.href=".....";
</SCRIPT>';
}
else{..}
Вопрос: Почему при переходе на другую страницу, переменные из $_SESSION["user"], теряются, и как можно это исправить?
 

Бочонок

http://frontender.info
PHP:
echo "<pre>";
var_dump($_SESSION);
И посмотри что у тебя там есть, а чего нет. Для начала.
Исходя из этого можно будет выяснить в чем беда.
 

Vahan

Новичок
Нашёл ошибку...
2 дня мучился.. написал тему (Первый раз в жизни)..
И сразу же нашёл ошибку.

Дело в том что я сделал 2 спроса:

PHP:
if(!isset($_SESSION["user"]))
{...}
else{..}
И поэтому переменный из сессии удалились.

Бочонок,
Спасибо за команду, не знал об этом, хотя не помогла для решения вопроса, но понадобится мне в будущем.
 
Сверху