yarkov
@yarkov
Помог ответ? Отметь решением.

Проверка сессии AJAX-ом. Как сделать?

Есть сайт и админка. Админка полностью на AJAX. Если войти в админку, а на сайте разлогиниться, то в админке сессия остается. Есть скрипт в каталоге admin/ajax.php, который обрабатывает запросы из админки. Нужно при выходе через сайт оборвать сессию и в админке. В начале ajax.php вставил такой код:
session_start();
require_once("../auth.php");
$auth = new AuthClass();
$access = $auth->isAdmin(); // проверка на авторизованного админа
if(!$access){
	header("HTTP/1.1 301 Moved Permanently");
	header("Location: ../index.php");
	exit();

По идее должно перекинуть на главную страницу сайта, если отправить запрос из админки и при этом уже разлогиниться через сайт. Но редиректа нет! Запросы перестают обрабатываться, в статусной строке появляются строки попытки редиректа и подгрузки виджета Вконтакте (комменты на главной странице). Но не редиректит. Тупо висит страница и все.
Могу конечно при каждом запросе читать из БД поле active, и если оно 0, то что-то сделать (закрыть модальным окном страницу админки и т.п.). Но хочется без извращений и привязать все на класс авторизации.
Подскажите, если кто сталкивался.
  • Вопрос задан
  • 2888 просмотров
Решения вопроса 1
PavelK
@PavelK
У Вас получается просто редирект AJAX запроса на адрес index.php
В данном случае необходимо просто вернуть ответом необходимость перехода на нужный адрес, а на стороне клиента в JS обработать ответ и переходить.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы