URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 1174
[ Назад ]

Исходное сообщение
"Управление сеансами в PHP !!! Help !!! Срочно !!!"

Отправлено Viacheslav , 10-Мрт-03 21:57 
Такой subj:
Не получается управление сеансами в PHP.
В каждом скрипте сайта запускаю сессию session_start();
В скрипте X.php, который обрабатывает регистрацию нового пользователя в системе, регистрирую все переменные из заполненных пользователем полей формы регистрации как переменные сеанса session_register("var_name");
Потом в скрипте Y.php, в котором также запущена сессия, вызвается функция из скрипта Z.php. И вот в этой функции подставляются значения переменных сеанса в какое-то выражение. PHP пишет, что все эти переменные не определены.
Делал в php.ini session.auto_start=1  ---- не помогает.
Хотя управление сеансами проходит в случае реализации администрирования. То есть когда админ входит в систему, его аккаунт записывается в переменные сеанса. Если переменные сеанса не определены, выводятся обычное меню навигации; если определены -- выводятся меню для администратора. Т. е. всё в принципе работает.
Но с регистрацией обычного пользователя почему то не получается....
В чём проблема. Может кто предложит свою схему реализации. Просто надо на каждой странице сайта после регистрации, выводить "Добрый день, Вася", где Вася берется из переменной сеанса, в некоторых скриптах проверять, зарегистрирован ли пользователь и если нет, запрещать выполнять определнные действия. И в одном из скриптов все данные из переменных сеанса вместе с номером товара и ещё несколькими полями запиисываются в базу MySQL.....
Help !!!!

Содержание

Сообщения в этом обсуждении
"RE: Управление сеансами в PHP !!! Help !!! Срочно !!!"
Отправлено Rover , 11-Мрт-03 10:07 
>Такой subj:
>Не получается управление сеансами в PHP.
>В каждом скрипте сайта запускаю сессию session_start();
>В скрипте X.php, который обрабатывает регистрацию нового пользователя в системе, регистрирую все
>переменные из заполненных пользователем полей формы регистрации как переменные сеанса session_register("var_name");
>
>Потом в скрипте Y.php, в котором также запущена сессия, вызвается функция из
>скрипта Z.php. И вот в этой функции подставляются значения переменных сеанса
>в какое-то выражение. PHP пишет, что все эти переменные не определены.
>
>Делал в php.ini session.auto_start=1  ---- не помогает.
>Хотя управление сеансами проходит в случае реализации администрирования. То есть когда админ
>входит в систему, его аккаунт записывается в переменные сеанса. Если переменные
>сеанса не определены, выводятся обычное меню навигации; если определены -- выводятся
>меню для администратора. Т. е. всё в принципе работает.
>Но с регистрацией обычного пользователя почему то не получается....
>В чём проблема. Может кто предложит свою схему реализации. Просто надо на
>каждой странице сайта после регистрации, выводить "Добрый день, Вася", где Вася
>берется из переменной сеанса, в некоторых скриптах проверять, зарегистрирован ли пользователь
>и если нет, запрещать выполнять определнные действия. И в одном из
>скриптов все данные из переменных сеанса вместе с номером товара и
>ещё несколькими полями запиисываются в базу MySQL.....
>Help !!!!


Я делаю немного по другому :

// Так регистрируем переменную:
session_start();
$_SESSION["var_name"] = "Вася Пупкин";


//а так потом проверяем и соответственно реагируем
session_start();
if (empty($_SESSION["var_name"]))
{
     echo "пшел вон хацкер ;-)";
}
else
{
     echo "Привет дорогой " . $_SESSION["var_name"];
}

PS.
У тебя похоже в файлике php.ini переменная register_globals = off и это правильно, переключишь на "on" будет работать и старый вириант с "session_register("var_name");"