>Такой 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");"
|