DanGien
Новичок
Переменные и сессии (еще раз
Приветствую!
Просмотрел http://faq.phpclub.net/sessions, но там не нашел ответа на свой вопрос.
Видимо, я не совсем четко понимаю, как работают сессии. Буду благодарен за разъяснения.
1. Если я задаю переменную в сессии и даю ей значение. При переходе на др. страницу (сессия не убита) переменная тоже передается? Или нет?
2. К примеру, мне нужно такое. Человек заходит на сайт по партнерской ссылке вида index.php?parid=demo
В файле index.php я пишу такое:
if (! session_is_registered('parid'))
{
if (isset($parid)) //Если переменная $parid существует, то...
{
session_register( 'parid' ) ;
}
else
{
session_register( 'parid' ) ;
$parid = "myzakaz";
}
Т.е. если зашел по ссылке партнера, переменная parid = идент. партнера, иначе равна myzakaz.
Теперь, при переходе по страницам должна переменная с ЭТИМ ЖЕ значением передаваться.
Вышеописанный код я ставлю на ВСЕХ страницах (т.к. по партнерской ссылке могут зайти не только на index.php, но и на любую др. страницу). Т.е. логика такая:
- если переменная не зарегистрирована в сессии, то
-- если переменная существует, то регистрируем переменную
-- если переменная НЕ существует (т.е. зашли на сайт НЕ по партнерской ссылке), то регистрируем переменную и она будет равна myzakaz.
В реальности ничего не получается. На странице index.php все как надо, parid=demo, а как только я перехожу на др. страницу, становится parid=myzakaz
Получается, что эта переменная не передается с сессией на др. страницу? Как сделать, чтобы передавалась?
Приветствую!
Просмотрел http://faq.phpclub.net/sessions, но там не нашел ответа на свой вопрос.
Видимо, я не совсем четко понимаю, как работают сессии. Буду благодарен за разъяснения.
1. Если я задаю переменную в сессии и даю ей значение. При переходе на др. страницу (сессия не убита) переменная тоже передается? Или нет?
2. К примеру, мне нужно такое. Человек заходит на сайт по партнерской ссылке вида index.php?parid=demo
В файле index.php я пишу такое:
if (! session_is_registered('parid'))
{
if (isset($parid)) //Если переменная $parid существует, то...
{
session_register( 'parid' ) ;
}
else
{
session_register( 'parid' ) ;
$parid = "myzakaz";
}
Т.е. если зашел по ссылке партнера, переменная parid = идент. партнера, иначе равна myzakaz.
Теперь, при переходе по страницам должна переменная с ЭТИМ ЖЕ значением передаваться.
Вышеописанный код я ставлю на ВСЕХ страницах (т.к. по партнерской ссылке могут зайти не только на index.php, но и на любую др. страницу). Т.е. логика такая:
- если переменная не зарегистрирована в сессии, то
-- если переменная существует, то регистрируем переменную
-- если переменная НЕ существует (т.е. зашли на сайт НЕ по партнерской ссылке), то регистрируем переменную и она будет равна myzakaz.
В реальности ничего не получается. На странице index.php все как надо, parid=demo, а как только я перехожу на др. страницу, становится parid=myzakaz
Получается, что эта переменная не передается с сессией на др. страницу? Как сделать, чтобы передавалась?