|
|
|
| Странная у меня сессия получается.
Скрипт, который её инициирует,
выдаёт на экран две ссылки:
1. одну на себя же, но с другими параметрами
2. вторую на другой скрипт
При переходе по первой ссылке сессия пропадает
При переходе на другой скрипт - сохраняется.
Просто в голове не укладывается...
Вчера весь вечер сидел и тупо кликал, так и не понял что ещё можно предпринять для отладки | |
|
|
|
|
|
|
|
для: Eugene77
(16.10.2008 в 08:49)
| | Значит у вас в первом скрипте нет продолжения сессии, скорее всего. | |
|
|
|
|
|
|
|
для: sim5
(16.10.2008 в 09:06)
| | >Значит у вас в первом скрипте нет продолжения сессии, скорее всего.
Как оно должно выглядеть?
Я просто обращиаюсь :
print_r($_SESSION);
С сессией работает подключаемый через requier_once один и тот же файл.
Вот он-то мне и пишет в первом случае
Notice: Undefined variable _SESSION
| При том, что сесионная кука стоит на месте.
Никуда она не исчезла!
более того, второй скрипт всё отрабатывает нормально | |
|
|
|
|
|
|
|
для: Eugene77
(16.10.2008 в 09:21)
| | передавайте в конце кажой ссылки параметр SID пример: <a href='index.php?".SID."'>Ссылка</a> | |
|
|
|
|
|
|
|
для: chexov
(16.10.2008 в 09:28)
| | >передавайте в конце кажой ссылки параметр SID пример: <a href='index.php?".SID."'>Ссылка</a>
Это на дырку в безопасности похоже...
Как вы считаете?
Ну, и вообще, хотелось разобраться...
Если это моя ошибка, то исправить, а если сессии вообще такая ненадёжная штука, то не пользоваться больше ими. | |
|
|
|
|
|
|
|
для: Eugene77
(16.10.2008 в 09:21)
| | >Как оно должно выглядеть?
Если в скрипте А стартуется сессия как session_start();, затем устанавливается переменная в сесси, а затем идет переход на скрипт В, в котором сессия продолжается как session_start();, то запросив в скрипте В эту сессионную переменную, вы ее обязательно получите. Если не продолжать сессию, то сессия будет прервана. | |
|
|
|
|
|
|
|
для: sim5
(16.10.2008 в 09:54)
| | Я начинаю сессию так:
session_set_cookie_params(0, '/');
session_start();
$_SESSION['id'] = $_GET['id'];
И запрашиваю при повторном запуске этого же скрипта с другим параметром print_r($_SESSION), но не получаю,
как я уже говорил другой скрипт, подключая этот же участок кода - получает. | |
|
|
|
|
|
|
|
для: Eugene77
(16.10.2008 в 10:20)
| | А вы путь хранения сессии не трогайте и попробуйте. | |
|
|
|
|
|
|
|
для: sim5
(16.10.2008 в 10:26)
| | >А вы путь хранения сессии не трогайте и попробуйте.
Я изначально его не трогал, но тогда Сессионной куки вообще опера не показывает, хотя
session_start() выполняется без ошибки. | |
|
|
|
|
|
|
|
для: sim5
(16.10.2008 в 10:26)
| | Хотя, странно...
print_r($_SESSION),
если настройки сессии никак не трогать выдаёт вместо нотиса, что не определена - пустой массив Array()
При этом сессиоонной куки опера не показывает... | |
|
|
|
|
|
|
|
для: Eugene77
(16.10.2008 в 11:05)
| | Вы настройки РНР своего посмотрите, если те что вам нужны, проверьте с ними, а уж потом пытайтесь менять их посредством скрипта. Что-то у вас с ними путаница получается. | |
|
|
|
|
|
|
|
для: sim5
(16.10.2008 в 11:47)
| | Я наоборот считал, что самому предпочтительней настраивать параметры сессии.
Тогда неважно что там хостеру изменить захочется.
Но я мало чего понимаю в этих настройках.
Вот всё, что в php.ini
значится:
session.save_handler = files
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 100
session.gc_maxlifetime = 1440
session.bug_compat_42 = 1
session.bug_compat_warn = 1
session.entropy_length = 0
session.entropy_file =
session.cache_expire = 180
session.hash_bits_per_character = 4
|
| |
|
|
|
|
|
|
|
для: Eugene77
(16.10.2008 в 17:08)
| | Значение этих параметров в мануале описно.
PS. Поищите в сети, есть php.ini по русски, если почитать нечего. | |
|
|
|
|
|
|
|
для: sim5
(16.10.2008 в 17:30)
| | Если бы знать что в мануале искать...
Я читал коментарии к этим значениям на английском, но меня что-то не проняло.
Трудно себе представить чтобы моя проблема хоть как-то могла бы быть связана хоть с одной из этих переменных.
Словом,полный затык - герметичный.
Брошу я это дело, перепишу всё на куках...
Спасибо, что пытались помочь! | |
|
|
|