Javascript.RU

Ajax и PHP: Разработка динамических веб-приложений

ajax-and-php-building-responsive-web-applications-ru.jpg
Язык: Русский
Год публикации: 2006
Автор(ы): К.Дари, Б.Бринзаре и др.
Страниц: 336

Краткое содержание
  • AJAX и будущее веб-приложений
  • Клиентские технологии на основе JavaScript
  • Технологии, применяемые на стороне сервера: РНР и MySQL
  • Верификация заполнения форм в AJAX
  • Чат AJAX
  • Подсказки и функция автодополнения в AJAX
  • Построение диаграмм в реальном времени средствами SVG и AJAX
  • Таблицы в AJAX
  • Чтение лент новостей в AJAX
  • Технология drag-and-drop в AJAX
Средняя: 4.3 (322 votes)

Полное содержание
  • 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
    • Применение механизма перетаскивания во Всемирной паутине
    • Создание приложения с поддержкой механизма перетаскивания
    • Подведение итогов
    • А. Подготовка рабочего окружения

Автор: kalisha, дата: 31 августа, 2008 - 21:33
#permalink

Мне книга очень понравилась, очень доходчива написана, кто не знает что такое аякс и пишет на пхп, советую....


Автор: . (не зарегистрирован), дата: 18 июля, 2009 - 22:40
#permalink

Автор: Гость (не зарегистрирован), дата: 1 июня, 2010 - 13:57
#permalink
$a="19"
$st1="Значение переменной: $a"
$st2='Значение переменной:  $a'

Автор: Azam (не зарегистрирован), дата: 17 июля, 2010 - 03:00
#permalink

Thanks a lot!!!


Автор: Гость (не зарегистрирован), дата: 10 августа, 2010 - 15:37
#permalink

а почему так мало комментариев (и голос всего один? как книжка-то остальным?


Автор: Гость (не зарегистрирован), дата: 7 сентября, 2010 - 13:31
#permalink

Отличная книга тепер я веб мастер с окладом 10.000$


Автор: Гость (не зарегистрирован), дата: 8 ноября, 2013 - 13:44
#permalink

Осталось научиться ставить мягкий знак в конце "Теперь"))


Автор: Гость (не зарегистрирован), дата: 11 июля, 2014 - 01:19
#permalink

и не говори, тоже мне "веб" мастер.


Автор: Гость (не зарегистрирован), дата: 7 сентября, 2010 - 13:33
#permalink
// настройки для подключения к 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'] . '&raquo; ' . $value['text'] . '</span>");'; // добавить сообщние (<span>Имя &raquo; текст сообщения</span>) в наш div
                }
 
                $js .= "last_message_id = $last_message_id;"; // запишем номер последнего полученного сообщения, что бы в следующий раз начать загрузку с этого сообщения
 
                // отправляем полученный код пользователю, где он будет выполнен при помощи функции eval()
                echo $js;
        }
}

Автор: unsleepy999 (не зарегистрирован), дата: 19 ноября, 2010 - 13:57
#permalink

книга изначально не понравилась, т.к. примеры не адаптированны под русскую кодировку, с самого начала они не работают как надо. вот написал свой простой и понятный, а главное РАБОЧИЙ пример работы Ajax.
комментарии в каждой строке.
Ajax+PHP+MySQL
качать тут:


Автор: Serega_kz (не зарегистрирован), дата: 28 апреля, 2011 - 16:55
#permalink

Не надо вот книгу говнить, все нормально с кодировкой, просто вместо предложенной UTF-8 используйте windows-1251 и все ок будет


Автор: walter_wireless (не зарегистрирован), дата: 4 мая, 2011 - 01:11
#permalink

Эээ...Дропбокс забанил ваши публичные папки. Как быть? Хочу скачать.


Автор: Гость (не зарегистрирован), дата: 31 октября, 2011 - 11:27
#permalink

Книга очень хорошо написана, и для новичков в области js, но с опытом в php очень полезна..


Автор: new0111, дата: 14 ноября, 2011 - 12:25
#permalink

согласен. Книга класс. Increazon почему такое мнение? Jquery - это высше уровень, чем xml?


Автор: Гость (не зарегистрирован), дата: 30 января, 2012 - 15:42
#permalink

Полезная вещь, но это не книга, а брошюра. Все так размазано и повторяется; уникальной, не повторяющейся информации - 50 страниц.


Автор: Гость (не зарегистрирован), дата: 19 марта, 2012 - 09:34
#permalink

Согласен


Автор: Гость (не зарегистрирован), дата: 16 февраля, 2012 - 14:04
#permalink

Хорошая книга, мне помогла по работе, и это главное.


Автор: Гость (не зарегистрирован), дата: 3 марта, 2012 - 00:19
#permalink

С появлением демонов AJAX должен уходить)


Автор: Гость (не зарегистрирован), дата: 8 сентября, 2012 - 16:06
#permalink

С этого и надо начинать чтобы вкурить!


Автор: Гость (не зарегистрирован), дата: 28 апреля, 2013 - 09:47
#permalink

Jquery но что бы быть настоящим профессионалом необходимо также знать что происходит и на низком уровне, jquery несомненно хорош но есть задачи для которых он не подходит.


Автор: nc0833, дата: 17 ноября, 2014 - 08:49
#permalink

подскажите, эт книга ещё актуальна на данный момент?


Автор: Гость (не зарегистрирован), дата: 21 февраля, 2015 - 21:26
#permalink

К сожаленью книга не понравилась.


Автор: SkyLaGer, дата: 25 февраля, 2015 - 22:04
#permalink

Перезалейте кто-нибудь, пожалуйста


Автор: Гость (не зарегистрирован), дата: 25 мая, 2020 - 21:42
#permalink

А это актуальная книга?


Автор: John Sellner (не зарегистрирован), дата: 1 августа, 2022 - 14:55
#permalink

You did really good work. I really appreciate your new and different post. Please guys keep it up. Also visit blog on clicker counter. Clicker counter help gamers in acquiring a higher clicking speed that improves their gaming skills.


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
5 + 6 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние комментарии
Последние темы на форуме
Forum