2009-09-23 4 views
0

У меня возникла действительно неосязаемая проблема, с которой у меня никогда не было, у меня есть страница/форма регистрации и страница обработки, которая для отправки на страницу обработки, я устанавливаю любые ошибки, которые находятся в пользовательские данные, такие как пустые поля и установить их в массив сессии варПроблема в области пространственного сеанса в PHP

$_SESSION['signup_errors'] = $signup_errors; 

$ signup_errors массив, который я поставил на сессию, я могу получить доступ, что данные сеанса на той же странице, но я просто изменил мой сайт вокруг использовать mod-rewrite для изменения URL-адреса, и единственное, что, как мне кажется, может показаться на моей регистрационной форме, я больше не могу получить доступ к этим переменным сеанса, и теперь, когда я использую mod-rewrite, url выглядит так: domain.com/account/new, и раньше он был domian.com/?p=account.new так что теперь кажется, что он находится в папке differnt, может ли это что-то с этим делать?

Я пробовал отлаживать его много, и это единственное, что я могу придумать, возможно, потому что он, похоже, является другим каталогом из-за того, что mod-rewrite может сделать сеанс недоступным?

ответ

3

Вы уверены, что начинаете сеансы на каждой странице, к которой вы обращаетесь? Я бы уточнил, что есть

session_start(); 

Где угодно.

Кроме того, что делает

print_r($_SESSION); 

возвращение? Вообще ничего? Если бы не это, это, вероятно, означало бы то, что я говорил.

+0

Да, сеансы начинаются, и вот кикер, я могу получить доступ к другим наборам сессий сеансов сеансов на одной странице, а не только к одному, я собираюсь сыграть с ним, но это странно. – JasonDavis

+0

Возможно ли, что вы отключаете или сбросить его до пустого массива? Я бы проверял все экземпляры, где вы его назначаете. –

+0

Я могу изменить имя сеанса, а затем все работает так, что где-то в моем сумасшедшем сложном приложении оно должно убивать это конкретное имя сеанса – JasonDavis

0

Я бы сказал, что вы не меняете домен. НАПРИМЕР. domain.com -> www.domain.com

Обычно cookie используется для отслеживания идентификатора сеанса, и по умолчанию файл cookie привязан к одному домену. И.Е. Если сеанс был создан на www.domain.com, когда вы посетили login.domain.com, cookie не будет отправлен, что не даст никакой информации о сеансе.

0

Случилось это со мной, возможно, у вас похожий сценарий. Переменная сеанса была временной, и я бы уничтожал ее после ее вывода на экран.

С переписыванием мод, если вы маршрутизируете все, если есть сломанное изображение, которое также может быть перенаправлено на ваш php-скрипт, он на заднем плане распечатывает ошибку и уничтожает этот сеанс var.

Просто подумайте!

Смежные вопросы