Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PHP, AJAX - сессии или переменные, или что? 
V
    Опции темы
Win MK 32
Дата 24.5.2009, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 492
Регистрация: 15.7.2002

Репутация: нет
Всего: нет



Почему при создания AJAX-запроса к скрипту edit.php (пользовался статьей Дина на этом сайте), он не способен увидеить сессии? Браузер-то один! А скрипт говорит, что массив сессий пустой. smile

Из-за этого не могу проверить авторизацию в админке перед выполнением приказа AJAX. 

Причем вариант сделать на главной странице админки проверку авторизации и занесение константы а потом последующую проверку - тоже не катит почему-то. Я растроен :'( 
Код

//admin/index.php
if(auth()){
  define("IN_ADMIN", true);


Код

//admin/edit.php, вызов через AJAX
if(defined("IN_ADMIN")){
  echo "Авторизация есть и славно";



P.S. Подозреваю, что и куки тоже он не сможет прочитать. Ну раз AJAX считает себя другим web-браузером(правильно ли я выразился?).
PM   Вверх
bars80080
Дата 24.5.2009, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



а причём здесь константы? сессии - это массив $_SESSION
и стартуется он через session_start();
PM MAIL WWW   Вверх
Win MK 32
Дата 24.5.2009, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 492
Регистрация: 15.7.2002

Репутация: нет
Всего: нет



Цитата(bars80080 @  24.5.2009,  20:54 Найти цитируемый пост)
session_start();

Точно! Я забыл, что для чтения сессий надо сначала их стартовать :(
Спасибо. Вопрос решен.

P.S. Константы при том, что я хотел их использовать, коли нельзя считать сессии.
А кстати нельзя общие константы иметь для обычного скрипта и для вызываемого через AJAX (как в моем случае)?
PM   Вверх
ksnk
Дата 24.5.2009, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Win MK 32, Надеюсь, решение окажется не таким простым, как говорит bars80080, иначе остальной мой текст лишается смысла  smile 

Случаи странного взаимодействия сессии и Ajax'а как правило бывают, когда куки на клиенте не включены. В этом случае работает включенный use_trans_sid, который добавляет ко всем ссылкам страницы сессионный идентификатор. Правда он не может модифицировать еще и Ajax запросы и, как правило, приходится выколупывать этот идентификатор из location'а и вставлять вручную в адрес запроса.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Win MK 32
Дата 24.5.2009, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 492
Регистрация: 15.7.2002

Репутация: нет
Всего: нет



ksnk, к сожалению bars80080 все правильно подсказал smile
Но вопрос с константами по прежнему открыт.
PM   Вверх
bars80080
Дата 25.5.2009, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



никакие переменные или константы между запросами не передаются. под идентификатором сессий сохраняется всего один массив $_SESSION.
если в начале скрипта стоит session_start(), то скрипт запрашивает браузер на наличие сессионного идентификатора (сохраняемый в куки), и если он есть и ему соответствует сохранённый на сервере, то возвращается сохранённый под ним массив

только $_SESSION
PM MAIL WWW   Вверх
Win MK 32
Дата 25.5.2009, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 492
Регистрация: 15.7.2002

Репутация: нет
Всего: нет



Цитата(bars80080 @  24.5.2009,  22:31 Найти цитируемый пост)
то скрипт запрашивает браузер на наличие сессионного идентификатора (сохраняемый в куки)

Я этого не знал. По-моему это важно. Спасибо.
PM   Вверх
skyboy
Дата 25.5.2009, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(bars80080 @  24.5.2009,  23:31 Найти цитируемый пост)
то скрипт запрашивает браузер на наличие сессионного идентификатора 

ну, ты пиши однозначнее.
сервер у клиента ничего не запрашивает.
клиент сам вместе с фофч запросом в заголовках отправляет все связанные с данным доменом кукисы. 
а после session_start () происходит поиск в полученных заголовках Cookie:.... подходящих на роль идентификатора сессии.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0791 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.