bookmark

Простое приложение для управления закладками на PHP, JS & MySQL. Часть 2

Продолжим...

Шаг 3 – PHP

Давайте посмотрим, как будут сохранятся ссылки. Как уже упоминалось ранее, управление закладками включает в себя bookmark.php, как сценарий в head разделе текущей страницы. И подается с содержанием типа JavaScript, соответственно, браузер будет оценивать его, как обычный JS файл.

bookmark.php

Название документа и URL сайта передаются этому скрипту через букмарклет и доступны в массиве $ _GET.

Данные продезинфицированы и проверены нашей функцией sanitize() , после чего добавлены в базу данных. Затем, после проверки состояния функции mysql_affected_rows(), мы заносим в переменную $message соответствующее статусное сообщение, которое будет отображаться пользователю.

Я хотел бы предложить взглянуть на bookmark.php в архиве, чтобы увидеть, как PHP и JavaScript работают вместе.

Теперь давайте двигаться дальше, чтобы узнать, как закладки отображаются в виде простого виджета.

demo.php

Этот код выбирает последние 6 ссылок из базы данных, генерирует соответствующие LI элементы, содержащие названия в качестве гиперссылки на страницу в закладки, а также с помощью функции relativeTime() вычисляет относительное время, когда ссылка была опубликована.

Все наши функции определены и используются в functions.php.

functions.php

Одним из руководящих принципов при создании веб-приложений является «Не верь пользователям». Это означает, что все входные данные должны быть надлежащим образом проверены и почищены. Именно это и делает функция sanitize() — предотвращает возможные XSS атаки, ломки любых HTML-тегов и вставки HTML спецсимволов, которые могут потенциально привести к поломке вашей разметки.

Еще одной интересной функцией является relativeTime(), которая принимает штамп времени, соотнесенный каждой закладке, и превращает его в читаемый для пользователя вид. Эта функция также принимает необязательный второй аргумент, который ограничивает количество единиц времени, которые были возвращены (установка с точностью до 1 вернет 1 час назад, а не 1 час и 10 минут назад).

Шаг 4 – JavaScript

Не самая лучшая идея полагаться на библиотеки сторонних производителей, таких как jQuery. Именно поэтому, для разнообразия, мы будем работать с чистым JavaScript.

Во-первых, давайте взглянем на JS код.

JS код

Букмарклет — это типичная гиперссылка, в которой есть генерируемый JavaScript код. При нажатии, сниппет создает новый элемент скрипта, устанавливает bookmark.php как ее URL (вместе с закодированным названием и URL активной страницы), и добавляет его в раздел документа head. Это выглядит не так красиво, как если бы мы использовали JQuery библиотеку, зато работает.

Теперь вернемся к bookmark.php.

bookmark.php

JavaScript код, расположенный выше, написан прямо под логику PHP, которая вставляет закладку в базу данных в bookmark.php. JavaScript функция displayMessage() создает DIV элемент, стили и отображает их в центре страницы.

Как мы уже упоминали в 3 шаге PHP, bookmark.php получает название документа и URL, добавляет их в базу данных и создает переменную $message. Затем она выдается в виде вызова функции displayMessage(), которая выполняет код и показывает сообщение:

Заключение

Если вы планируете использовать этот виджет в обмене ссылками с вашими посетителями (или, чтобы сохранять их для себя), не забудьте загрузить скрипт в каталог с произвольным именем, так как в этом скрипте не предусмотрена аутентификация. И это также причина, почему этот скрипт так прост в настройке и использовании.

Если вы заинтересовались статьей, то нажмите

Скачать


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