Практика на работу с AJAX в PHP

Гостевая книга

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

Пусть по заходу на эту страницу выводится список всех оставленных ранее сообщений, отсортированных по убыванию даты. Пусть выводится текст сообщения, имя автора и дата создания сообщения.

Под сообщениями пусть расположена форма, в которой можно оставить сообщение. Пусть в форме будет инпут для ввода имени и текстареа для ввода сообщения. Реализуйте отправку новых сообщений через AJAX.

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

Лента новостей

Реализуйте ленту новостей. Она должна представлять собой сайт из одной страницы. На этой странице должны показываться новости, отсортированные по убыванию даты.

По заходу на эту страницу покажите пользователю 5 самых свежих новости. Затем сделайте так, чтобы клиентская сторона каждую минуту опрашивала сервер на предмет новых новостей.

Если на сервере появляются новые новости, пусть они передаются на клиент в формате JSON и выводятся в ленте новостей.

Обмен сообщениями

Реализуйте страницу, на которой два человека смогут обмениваться сообщениями (простой месседжер). Страница должна представлять собой textarea для ввода сообщения и переписку.

После ввода текста в textarea и нажатия комбинации клавиш Shift + Enter пусть сообщение отправляется на сервер и сохраняется там в базу данных.

Пусть клиентский скрипт каждые 10 секунд опрашивает сервер на предмет того, не появились ли там новые для нас сообщения. Если появились - пусть эти сообщения выводятся в переписке.

Реализуйте массовый чат, в котором смогут переписываться одновременно несколько человек.

Блокнот

Реализуйте блокнотик, в который можно добавлять новые записи. Записи появляются слева от блокнотика в виде ссылок с текстом в виде даты-времени создания этой записи. Можно нажать на ссылку и в блокноте появится текст за эту дату.

Органайзер

Реализуйте органайзер. Он будет представять собой календарь. По нажатию на любую дату с боку календаря должен появится список дел, запланированных на эту дату. Дела можно добавлять, удалять, редактировать, помечать сделанными.

Автодополнение

Пусть у вас в базе данных есть таблица с городами. Пусть на клиенте есть инпут для ввода названия города.

Сделайте так, чтобы по мере ввода символов в инпут под инпутом в списке ul появлялись города, содержащие введенные символы. Например, если в инпут введено 'Мо', то должны показаться города Москва и Могилев.

Пусть города подгружаются из базы данных по мере ввода символов в инпут.

Форум

Реализуйте форум, работающий на технологии AJAX. На форуме должна быть авторизация и регистрация.

Игры

Реализуйте игру крестики-нолики онлайн. Передавайте ходы противника через AJAX.

Реализуйте игру морской бой онлайн.

Реализуйте игру шашки онлайн.