savsoft
Всем привет,
Есть простая таблица. В которой есть выпадающий список для смены статуса. Запись происходит через запрос ajax/jquery в php скрипт. В php авторизация сделана через сессии и в каждом скрипте в начале вызывается функция проверки авторизации, в которой стоит редирект на страницу ввода пароля, если сессия завершилась. И в таком случае ajax запрос ошибку не возвращает, и запись в базу не происходит. Как лучше исправить?
1. Сделать в php скриптах, которые обрабатывают ajax запросы, проверку авторизации без редиректа на страницу авторизации;
2. Сделать при авторизации чекбокс — запомнить меня, и как это реализовать?Толкните в нужном направлении.
Спасибо.
ADSoft
непонятно что именно вы хотите исправить, но судя по то п 2. — у вас проблема с реализацией авторизации, она у вас сессию не использует )))
savsoft
Использует, и в сессии хранится идентификатор пользователя. При каждом выполнении скрипта вызывается функция проверки, и если сессия завершилась, то перекидывает на страницу входа на сайт. Я так везде делал, но если скрипт вызывается через ajax, то переход на страницу логина обрывает выполнение скрипта, и ошибки нет. Но в базу ничего не пишется.
ADSoft
Ну логично…
ajax скрипт не должен ничего никуда редиректить — он всегда должен ответ даватьпокажите кусок кода в ajax скрипте, который у вас проверяет авторизацию.
По п.2 — нужное направление — куки
savsoft
Вызов этой функции в начале каждого скрипта
Код (Text):
function confirm_logged_in() { global $connection; if (!isset($_SESSION[«user_login»])) { redirect_to(«login.php»); } }Если скрипты вызывается не через ajax, то все работало. А тут начал использовать ajax и наступил на грабли. Думаю попробовать переделать функцию в
Код (Text):
function confirm_logged_in($mode=null) { global $connection; if (!isset($_SESSION[«user_login»])) { if ($mode == 1) { return 1; } else { redirect_to(«login.php»); } } else { return 0; } }И вызывать функцию из скриптов, вызываемых через ajax с параметром 1, и если функция возвращает ошибку, то возвращать ошибку, типа сессия устарела, перелогинтесь.
ADSoft
направление верное
savsoft
Спасибо
spartacusss
ребят помогите на буксе есть доска почета при размещении своего аватара он выдает такую ошибку помогите я уже весь интернет облазил не знаю что делать и к кому обращаться вот скрин шот https://prnt.sc/zggl04 не судите строго я не знаю даже в какую тему с этим обращаться