Значение переменной сессии

Polsha

Guest
Значение переменной сессии

Есть файл s_file.php, который выглядит подобным образом:

<?php
unset($s);
session_name("Session1");
session_start();
session_cache_limiter('nocache');
session_register("s");
$s['otdel']='Руководство';
?>

Есть другой файл main.php, который включает s_file.php и использует переменную $s['otdel']. Тут все замечательно.

Но когда я попадаю на следующую страничку, то переменная $s['otdel'] - пустая. Подскажите, пожалуйста, что я делаю не так.
 

Кром

Новичок
Начни с ознакомления с этой статьей:
http://faq.phpclub.net/sessions
Затем перепиши свой код согласно новым веяниям в создании сессий.
После этого, если возникнут вопросы, задавай.
 

Polsha

Guest
ОК. Теперь файл s_file.php содержит:

<?php
ini_set("session.use_trans_sid",1);
session_start();
if (!isset($_SESSION['otdel'])) $_SESSION['otdel']='Руководство';
?>

Файл main.php все еще включает s_file.php и использует переменную $s['otdel']. Тут все также чудненько.

Но теперь, когда я использую переменную $_SESSION['otdel'] на другой странице выдается ошибка:

Warning: Undefined variable: _SESSION in /.../sotr.php on line 67
 

Кром

Новичок
Покажи фрагмент другого файла, где ты вызываешь сессию, и выводишь сессионную переменную.
 

lovchy

nacido para cifrar
Warning: Undefined variable: _SESSION in /.../sotr.php on line 67

Наверняка session_start там нет.
 

Rover

Guest
Originally posted by L0vCh1Y
Warning: Undefined variable: _SESSION in /.../sotr.php on line 67

Наверняка session_start там нет.
Все верно, если в скрипте используются переменные сессии то фукнция session_start(); должна стять в самом начале скрипта, а точнее до того места где что-нибудь выводится, если в сессии сидят классы то инклудировать файлы с классами нужно обязательно до вызова session_start()
 

Polsha

Guest
2 Кром

Вот хотя бы просто вывести эту переменную на новой странице:

Отдел: <?php echo $_SESSION['otdel']; ?>
 

Polsha

Guest
Originally posted by Rover
Все верно, если в скрипте используются переменные сессии то фукнция session_start(); должна стять в самом начале скрипта, а точнее до того места где что-нибудь выводится, если в сессии сидят классы то инклудировать файлы с классами нужно обязательно до вызова session_start()
Инклудирую файл с session_start(); в самом начале и никаких классов не подключаю. Уже все убрала - все что можно.
 

Фанат

oncle terrible
Команда форума
Фак исправлен.
чтобы не было разночтений.

Для того, чтобы иметь доступ к переменным сессии на любых страницах сайта, надо написать ТОЛЬКО одну(!) строчку в самом начале КАЖДОГО файла, в котором нам нужны сессии:
session_start();
 

Polsha

Guest
Дорогой Фанат!
Ты - просто чудо!!!!
Спасибо ОГРОМНОЕ! Все получилось :p
 
Сверху