ЛУЧШИЙ САЙТ ДЛЯ ВЕБ-РАЗРАБОТЧИКОВ

PHP Учебник

PHP СТАРТ PHP Введение PHP Установка PHP Синтаксис PHP Комментарии PHP Переменные PHP Echo / Print PHP Типы данных PHP Строки PHP Числа PHP Константы PHP Операторы PHP If...Else...Elseif PHP Switch PHP Циклы PHP Функции PHP Массивы PHP Глобальные переменные

PHP Формы

PHP Обработка форм PHP Проверка формы PHP Обязательные поля формы PHP Форма URL/E-mail PHP Полная форма

PHP Продвинутый

PHP Дата и время PHP Подключение файлов PHP Обработка файлов PHP Файл Открыть/Читать PHP Файл Создать/Записать PHP Загрузка файлов PHP Cookies PHP Сессии PHP Фильтры PHP Расширенные фильтры PHP JSON

PHP OOП

PHP Что такое ООП PHP Классы/Объекты PHP Конструктор PHP Деструктор PHP Модификаторы доступа PHP Наследование PHP Константы PHP Абстрактные классы PHP Трейты PHP Статические методы PHP Статические свойства

MySQL База данных

MySQL База данных MySQL Коннект MySQL Создать DB MySQL Создать таблицы MySQL Вставить данные MySQL Получить последний ID MySQL Вставить несколько MySQL Подготовленный MySQL Выбрать данные MySQL Where MySQL Сортировать MySQL Удалить данные MySQL Обновить данные MySQL Ограничить данные

PHP XML

PHP XML Парсеры PHP SimpleXML Парсер PHP SimpleXML - Получить PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Введение AJAX PHP AJAX База данных AJAX XML AJAX Живой поиск AJAX Опрос

PHP Примеры

PHP Примеры PHP Викторина PHP Упражнения PHP Сертификация

PHP Справочник

PHP Обзор PHP Массив PHP Календарь PHP Данные PHP Каталог PHP Ошибка PHP Файловая система PHP Фильтр PHP FTP PHP JSON PHP Libxml PHP Mail PHP Математический PHP Разное PHP MySQLi PHP Сеть PHP SimpleXML PHP Поток PHP Строка PHP Обработка переменных PHP XML Парсер PHP Zip PHP Часовые пояса

PHP. Уроки для начинающих

PHP - AJAX и PHP


AJAX используется для создания более интерактивных приложений.


AJAX PHP Пример

В следующем примере будет показано, как веб-страница может взаимодействовать с веб-сервером (с поддержкой PHP), пока пользователь вводит символы в поле ввода:

Пример (работает только на серверах с поддержкой PHP!)

Начните вводить имя в поле ввода ниже:

Имя:

Предложения:


Объяснение примера

В приведенном выше примере, когда пользователь вводит символ в поле ввода, выполняется функция под названием "showHint()".

Функция запускается событием onkeyup.

Вот HTML код:

Пример (работает только на серверах с поддержкой PHP!)

<html>
<head>
<script>
function showHint(str) {
    if (str.length == 0) {
        document.getElementById("txtHint").innerHTML = "";
        return;
    } else {
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                document.getElementById("txtHint").innerHTML = this.responseText;
            }
        };
        xmlhttp.open("GET", "gethint.php?q=" + str, true);
        xmlhttp.send();
    }
}
</script>
</head>
<body>

<p><b>Начните вводить имя в поле ввода ниже:</b></p>
<form>
Имя: <input type="text" onkeyup="showHint(this.value)">
</form>
<p>Предложения: <span id="txtHint"></span></p>
</body>
</html>
Запустить пример »

Объяснение кода:

Сначала проверьте, пусто ли поле ввода (str.length == 0). Если это так, очистите содержимое заполнителя txtHint и выйдите из функции.

Однако, если поле ввода не пустое, выполните следующие действия:

  • Создайте объект XMLHttpRequest
  • Создайте функцию, которая будет выполняться, когда будет готов ответ сервера
  • Отправьте запрос в файл PHP (gethint.php) на сервере
  • Обратите внимание, что к URL-адресу добавлен параметр q (gethint.php?q="+str)
  • И переменная str содержит содержимое поля ввода

PHP файл - "gethint.php"

Файл PHP проверяет массив имен и возвращает соответствующее имя (имена) браузеру:

<?php
// Массив с именами
$a[] = "Anna";
$a[] = "Brittany";
$a[] = "Cinderella";
$a[] = "Diana";
$a[] = "Eva";
$a[] = "Fiona";
$a[] = "Gunda";
$a[] = "Hege";
$a[] = "Inga";
$a[] = "Johanna";
$a[] = "Kitty";
$a[] = "Linda";
$a[] = "Nina";
$a[] = "Ophelia";
$a[] = "Petunia";
$a[] = "Amanda";
$a[] = "Raquel";
$a[] = "Cindy";
$a[] = "Doris";
$a[] = "Eve";
$a[] = "Evita";
$a[] = "Sunniva";
$a[] = "Tove";
$a[] = "Unni";
$a[] = "Violet";
$a[] = "Liza";
$a[] = "Elizabeth";
$a[] = "Ellen";
$a[] = "Wenche";
$a[] = "Vicky";

// получить параметр q из URL
$q = $_REQUEST["q"];

$hint = "";

// искать все подсказки из массива, если $q отличается от ""
if ($q !== "") {
    $q = strtolower($q);
    $len=strlen($q);
    foreach($a as $name) {
        if (stristr($q, substr($name, 0, $len))) {
            if ($hint === "") {
                $hint = $name;
            } else {
                $hint .= ", $name";
            }
        }
    }
}

// Вывести "no suggestion" ("нет предложения"), если подсказка не найдена, или вывести правильные значения
echo $hint === "" ? "no suggestion" : $hint;
?>