Ajax и PHP: Разработка динамических веб-приложений
Язык: Русский
Год публикации: 2006
Автор(ы): К.Дари, Б.Бринзаре и др.
Страниц: 336
Краткое содержание
- AJAX и будущее веб-приложений
- Клиентские технологии на основе JavaScript
- Технологии, применяемые на стороне сервера: РНР и MySQL
- Верификация заполнения форм в AJAX
- Чат AJAX
- Подсказки и функция автодополнения в AJAX
- Построение диаграмм в реальном времени средствами SVG и AJAX
- Таблицы в AJAX
- Чтение лент новостей в AJAX
- Технология drag-and-drop в AJAX
Полное содержание
- AJAX и будущее веб-приложений
- Предоставление функциональности через Интернет
- Разработка веб-сайтов до 1990 года
- Что такое AJAX
- Создание простого приложения на основе AJAX и РНР
- Подведение итогов
- Клиентские технологии на основе JavaScript
- JavaScript и объектная модель документа (DOM)
- События в JavaScript и DOM
- И еще о DOM
- JavaScript, DOM и CSS
- Использование объекта XMLHttpRequest
- Работа со структурой XML
- Подведение итогов
- Технологии, применяемые на стороне сервера: РНР и MySQL
- РНР и DOM
- Передача параметров и обработка ошибок в РНР
- Соединение с удаленным сервером и безопасность сценариев JavaScript
- Доверенный сценарий на стороне сервера
- Основные принципы выполнения повторяющихся асинхронных запросов
- Работа с MySQL
- Технология обертывания и разделения функциональности
- Подведение итогов
- Верификация заполнения форм в AJAX
- Реализация проверки правильности в AJAX
- Подведение итогов
- Чат AJAX
- Введение в технологию прямого общения по сети
- Реализация чата на основе технологии AJAX
- Подведение итогов
- Подсказки и функция автодополнения в AJAX
- Введение в подсказки и функцию автодополнения на базе AJAX
- Реализация подсказок и функции автодополнения средствами AJAX
- Подведение итогов
- Построение диаграмм в реальном времени средствами SVG и AJAX
- Реализация построения диаграмм в реальном времени
- Подведение итогов
- Таблицы в AJAX
- Реализация таблиц данных на стороне клиента средствами AJAX и XSLT
- Подведение итогов
- Чтение лент новостей в AJAX
- Работаем с RSS
- Структура документа RSS
- Реализация чтения лент RSS с помощью технологии AJAX
- Подведение итогов
- Технология drag-and-drop в AJAX
- Применение механизма перетаскивания во Всемирной паутине
- Создание приложения с поддержкой механизма перетаскивания
- Подведение итогов
- А. Подготовка рабочего окружения
|
Мне книга очень понравилась, очень доходчива написана, кто не знает что такое аякс и пишет на пхп, советую....
а почему так мало комментариев (и голос всего один? как книжка-то остальным?
Отличная книга тепер я веб мастер с окладом 10.000$
Осталось научиться ставить мягкий знак в конце "Теперь"))
и не говори, тоже мне "веб" мастер.
// настройки для подключения к MySQl $config = array( 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'dbname' => 'pacdb' ); // подключаемся к MySQL, если не вышло то выходим if( !mysql_connect($config['hostname'], $config['username'], $config['password']) ) { exit(); } // Выбираем базу данных, если не вышло то выходим if( !mysql_select_db($config['dbname']) ) { exit(); } mysql_query("SET NAMES 'utf8'"); // говорим MySQl'у то что мы будем работать с UTF-8 Header("Cache-Control: no-cache, must-revalidate"); // говорим браузеру что-бы он не кешировал эту страницу Header("Pragma: no-cache"); Header("Content-Type: text/javascript; charset=utf-8"); // говорим браузеру что это javascript в кодировке UTF-8 // проверяем есть ли переменная act (send или load), которая указываем нам что делать if( isset($_POST['act']) ) { // $_POST['act'] - существует switch ($_POST['act']) { case "send" : // если она равняется send, вызываем функцию Send() Send(); break; case "load" : // если она равняется load, вызываем функцию Load() Load(); break; default : // если ни тому и не другому - выходим exit(); } } // Функция выполняем сохранение сообщения в базе данных function Send() { // тут мы получили две переменные переданные нашим java-скриптом при помощи ajax // это: $_POST['name'] - имя пользователя // и $_POST['text'] - сообщение $name = substr($_POST['name'], 0, 200); // обрезаем до 200 символов $name = htmlspecialchars($name); // заменяем опасные теги (<h1>,<br>, и прочие) на безопасные $name = mysql_real_escape_string($name); // функция экранирует все спец-символы в unescaped_string , вследствие чего, её можно безопасно использовать в mysql_query() $text = substr($_POST['text'], 0, 200); // обрезаем до 200 символов $text = htmlspecialchars($text); // заменяем опасные теги (<h1>,<br>, и прочие) на безопасные $text = mysql_real_escape_string($text); // функция экранирует все спец-символы в unescaped_string , вследствие чего, её можно безопасно использовать в mysql_query() // добавляем новую запись в таблицу messages mysql_query("INSERT INTO messages (name,text) VALUES ('" . $name . "', '" . $text . "')"); } // функция выполняем загрузку сообщений из базы данных и отправку их пользователю через ajax виде java-скрипта function Load() { // тут мы получили переменную переданную нашим java-скриптом при помощи ajax // это: $_POST['last'] - номер последнего сообщения которое загрузилось у пользователя $last_message_id = intval($_POST['last']); // возвращает целое значение переменной // выполняем запрос к базе данных для получения 10 сообщений последних сообщений с номером большим чем $last_message_id $query = mysql_query("SELECT * FROM messages WHERE ( id > $last_message_id ) ORDER BY id DESC LIMIT 10"); // проверяем есть ли какие-нибудь новые сообщения if( mysql_num_rows($query) > 0 ) { // начинаем формировать javascript который мы передадим клиенту $js = 'var chat = $("#chat_area");'; // получаем "указатель" на div, в который мы добавим новые сообщения // следующий конструкцией мы получаем массив сообщений из нашего запроса $messages = array(); while ( $row = mysql_fetch_array($query) ) { $messages[] = $row; } // записываем номер последнего сообщения // [0] - это вернёт нам первый элемент в массиве $messages, но так как мы выполнили запрос с параметром "DESC" (в обратном порядке), // то это получается номер последнего сообщения в базе данных $last_message_id = $messages[0]['id']; // переворачиваем массив (теперь он в правильном порядке) $messages = array_reverse($messages); // идём по всем элементам массива $messages foreach ( $messages as $value ) { // продолжаем формировать скрипт для отправки пользователю $js .= 'chat.append("<span>' . $value['name'] . '» ' . $value['text'] . '</span>");'; // добавить сообщние (<span>Имя » текст сообщения</span>) в наш div } $js .= "last_message_id = $last_message_id;"; // запишем номер последнего полученного сообщения, что бы в следующий раз начать загрузку с этого сообщения // отправляем полученный код пользователю, где он будет выполнен при помощи функции eval() echo $js; } }Не надо вот книгу говнить, все нормально с кодировкой, просто вместо предложенной UTF-8 используйте windows-1251 и все ок будет
Эээ...Дропбокс забанил ваши публичные папки. Как быть? Хочу скачать.
Книга очень хорошо написана, и для новичков в области js, но с опытом в php очень полезна..
согласен. Книга класс. Increazon почему такое мнение? Jquery - это высше уровень, чем xml?
Полезная вещь, но это не книга, а брошюра. Все так размазано и повторяется; уникальной, не повторяющейся информации - 50 страниц.
Согласен
Хорошая книга, мне помогла по работе, и это главное.
С появлением демонов AJAX должен уходить)
С этого и надо начинать чтобы вкурить!
Jquery но что бы быть настоящим профессионалом необходимо также знать что происходит и на низком уровне, jquery несомненно хорош но есть задачи для которых он не подходит.
подскажите, эт книга ещё актуальна на данный момент?
К сожаленью книга не понравилась.
Перезалейте кто-нибудь, пожалуйста
А это актуальная книга?