САЙТ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ НА РУССКОМ ЯЗЫКЕ
×

PHP5 Учебник

PHP Главная PHP Введение PHP Установка PHP Синтаксис PHP Переменные PHP Echo/Print PHP Типы данных PHP Строки PHP Константы PHP Операторы PHP Заявления if...else PHP Заявления switch PHP Цикл while PHP Циклы for, foreach PHP Функции PHP Массивы PHP Сортировка массивов PHP Суперглобальные массивы

PHP Формы

PHP Обработка форм PHP Проверка форм PHP Поля форм PHP Проверка почты PHP Полная форма

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

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

MySQL

MySQL База данных MySQL Установить MySQL Создать БД MySQL Создать таблицу MySQL Вставить данные MySQL Получить ID MySQL Вставить записи MySQL Подготовленные MySQL Выбрать данные MySQL Удалить данные MySQL Обновить данные MySQL Лимит данных

PHP - XML

PHP XML Парсер PHP XML Анализатор PHP XML Вывод PHP XML Экспат PHP XML DOM

PHP - AJAX

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

PHP Примеры

PHP Примеры

PHP5 AJAX и PHP



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


AJAX PHP Примеры

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

Пример

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

Имя:

Предлагаемые варианты:


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

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

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

Вот HTML код:

Пример

<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 на сервере
  • Обратите внимание, что параметр q добавлен к url адрес 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[] = "Андрей";
$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";
            }
        }
    }
}

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