php сессия / substr проблема - PullRequest
       0

php сессия / substr проблема

2 голосов
/ 29 августа 2011

У меня есть странная проблема в моем коде, которую я действительно не могу объяснить, и это просто не имеет никакого логического смысла для меня.Я устанавливаю переменную сеанса с именем $_SESSION['user_id'], когда человек успешно заходит на мой сайт, и они перенаправляются на страницу index.php.Это работает нормально, и сессия работает нормально, но когда я обновляю страницу, значение в сеансе исчезает, но я не понимаю, почему.

$long_user_id = $_SESSION['user_id'];

$user_id = substr($long_user_id, 0, -3);

Кто-нибудь может увидеть, в чем здесь проблема?Я думал, что переменная Session с именем user_id останется прежней, но по какой-то причине после второй загрузки страницы она останется пустой.

Заранее спасибо

Редактировать: я не писалвесь мой код и я допустил ошибку, не упомянув, что я использую session_start(); на каждой странице.Я также хотел бы подтвердить, что код работает, если я закомментирую часть кода substr со страницы.

Ответы [ 2 ]

1 голос
/ 02 сентября 2011

«Решение» этой проблемы имеет мало смысла. По какой-то странной причине $ _SESSION ['user_id']; на самом деле хранился как $ user_id в сценарии php. Я не могу объяснить это, и я не знаю, почему он это делал, но это означало, что когда я настраивал переменную $ user_id, это вызывало проблемы с сеансом и, таким образом, заставляло его «исчезать», как я уже говорил ранее.

Эта проблема была решена путем простого изменения имен переменных, чтобы они не конфликтовали с именем сеанса.

1 голос
/ 29 августа 2011

Вы всегда должны начинать и поддерживать сеанс сначала через session_start() - иначе ваш сеанс исчезнет. Пожалуйста, обратите внимание, что вам необходимо звонить session_start() на каждой странице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...