Передача переменных сеанса php на несколько страниц
У меня проблемы с передачей переменных на моем сайте. Я могу отобразить мои переменные сеанса в рекламодателе / page2.php, но когда я перехожу на третью страницу, сеансы исчезают.
Может кто-нибудь помочь мне решить эту проблему?
login.php
session_start();
$_SESSION['account_id']= $account_id;
$_SESSION['user_email']= $user_email;
рекламодатель /page2.php
session_start();
рекламодатель /page3.php
session_start();
вот настройки на моем phpinfo()
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 5 5
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path no value no value
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0
1 ответ
Я сталкивался с этой проблемой несколько раз с PHP, и это расстраивает,
То, что я не делаю, это установить идентификатор сеанса с помощью session_id([new_session_id])
в MD5 ( http://php.net/manual/en/function.md5.php) хеш строки, такой как имя пользователя, в сочетании с некоторой произвольной строкой. Имя пользователя всегда привязано к данным пользователя.
Идентификатор сеанса всегда пересчитывается (что может привести к минимальным затратам производительности), но вы всегда можете найти сеанс, когда вам это нужно, поскольку результат является детерминированным.
Я не уверен, что это ЛУЧШИЙ метод, но что-то вокруг этой идеи, кажется, никогда не подводило меня при работе с сессиями в PHP.