Определить ajax запрос на PHP

В данной статье мы будем определять, откуда идет запрос? С ajax или с простой формы. Для определения ajax запроса, существует простой кусок PHP кода, который использует параметр HTTP_X_REQUESTED_WITH, суперглобального массива $_SERVER. Как нам известно ajax запрос, посылается с помощью объекта xmlhttprequest. Если подзабыли или не понимаете о чем я, прочтите очень полезную статью о взаимодействии ajax с php. Если кто-то уже определял тип запроса, тому и объяснять нечего, код простой и достаточно понятный. Смотрим пример:

if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')

 {

    // Если запрос послан с xmlhttprequest, то есть это ajax запрос

    echo 'Определен ajax запрос!';

    exit;

}

//Если это другой запрос

echo 'Определен другой запрос!';

Некоторые сервера могут не поддерживать параметр HTTP_X_REQUESTED_WITH, это так же необходимо учитывать. В коде мы проверяем существование элемента массива, а также его наполненность данными о запросе, тут же переводим его значение в нижний регистр (функция strtolower) и сравниваем с xmlhttprequest. Если выражение верно, то значит это ajax запрос. Если выражение ложно это простой запрос. Вот так просто можно определить ajax запрос.

Зачем определять ajax запрос?

Кто определял, тот знает, не мне вам объяснять. Например, в целях безопасности, если вы не хотите, чтобы данные были отосланы каким-то другим методом, как не ajax. И это очень важно ставить такие проверки, если используете ajax приложения.

Это также полезно при написании многогранных приложений, и вы хотите что-бы была форма с javascript (ajax) и без javascript. Для этого нужно определить наличие ajax (js) а при посылке на скрипт обработчик, определить каким методом был послан запрос и выполнить соответственные действия.

Это все, если знаете еще применение этой незамысловатой штуке, или хотите высказать замечания, пишите комментарии! 



Дальше: PHP: скрипт оценки на PHP + jQuery + AJAX


Дискуссия по теме     3 Комментария 
Добавить комментарий
mclotos 09.06.2017 в 13:40
win1251 must die
Тарас 27.12.2011 в 15:24
Юрий, не проще будет делать автоматический бэкап самой БД. Вот для размышления: http://sitear.ru/material/mysql-backups http://sitear.ru/material/autobackup-mysqldump http://sitear.ru/material/mysqldump-primer-skachat
Юрий 26.12.2011 в 22:15
Есть такой вопрос. Я сделал форум на phpbb3. Там, в админ. панели, есть возможность сохранить резервную копию, выбрав таблицы и нажав на кнопку "отправить". А возможно ли узнать, что за запрос отправляется по этой кнопке, чтобы можно было по расписанию выполнять этот запрос? В админ. панели нет расписания. Но есть в кабинете хостинга.
Просмотров: 8695
Страхование КАСКО
карта банка
ндфл
усн
Оформление доверенности
страхование ипотеки
esim
осаго
ВЗР страхование
кредитная карта
Cialis barato Viagra Contrareembolso Cialis 5 mg precio mejores farmacias para comprar Viagra reacciones adversas de Cialis Reduslim cómo tomar soluciones para la impotencia Sildenafil Comprare Cialis 5 mg Giornaliero online in Italia Effetti indesiderati del Cialis 5 mg Acquista Cialis 20mg Cialis originale in vendita In Svizzera si compra il Viagra senza ricetta Cialis 10mg online Acquista Viagra in farmacia Offerta Cialis 5mg Spedra Avanafil in vendita online Acquista Viagra in Svizzera senza prescrizione авиатор спрайб Consegna a domicilio di Cialis 5 mg Effetti collaterali di Cialis 5 mg Consegna a domicilio di Cialis 20mg Acquista Cialis originale generico in Svizzera Consegna a domicilio di Viagra senza ricetta in Svizzera Compra Cialis 10mg Consegna a domicilio di Viagra in farmacia online Sconto Cialis 5mg Comprar Reduslim por internet Comprare Spedra Avanafil senza ricetta online Dove comprare il Viagra in Svizzera Compra Cialis Comprar online Viagra Contrareembolso Dónde encontrar Cialis 5 mg al mejor precio Viagra sin receta Cialis 5 mg efectos secundarios graves Reduslim comprar en línea Disfuncion Erectil tadalafilo avanafil prezzo cialis 20 mg prezzo cialis effetti benefici cialis 10 mg Reduslim Kaufen pulse x coin price