Аутентификация с помощью социальных сервисов и OpenId
Приветствую всех!
Сегодня я хотел бы рассказать об аутентификации пользователей с помощью различных социальных сервисов.
Большой проблемы здесь, конечно, нет. На официальных сайтах вы легко найдете документацию для разработчиков (обычно с примерами) и сможете начать работу. Более того, сервисы вроде Facebook предлагают готовые решения, которые достаточно просто подключить к сайту и не разбираться с протоколом обмена данными.
Но если вам нужно обеспечить поддержку максимально большого количества сервисов, то объем работы резко возрастает.
Но недавно я наткнулся на один очень интересный сервис под названием Loginza, предназначенный для решения именно этой задачи. И хочу показать небольшой пример работы с ним.
Честно говоря, раньше я думал, что подобные сервисы предоставляют услуги на платной основе либо с довольно урезанным функционалом (пример). Поэтому очень приятно было найти бесплатный аналог, да и к тому же с поддержкой социальных сетей рунета.
Читать дальше »
Опубликовано в JavaScript, PHP, Web разработка | View Comments
Загрузка файлов с помощью SWFUpload и PHP

О загрузке файлов на сервер рассказывается, наверное, в каждой книге о веб разработке. Обычно при этом приводится пример формы с тегом input type=file и объясняется, как работать с массивом $_FILES на стороне сервера. Это классический вариант. Он отлично работает, но имеет несколько ограничений.
1) Чтобы загрузить несколько файлов, нужно создать несколько тегов input. При этом пользователь должен будет выбирать каждый файл отдельно, что довольно неудобно при большом количестве файлов.
2) Невозможно показать процент загрузки файла.
3) Загрузка нескольких файлов будет выполнена в одном запросе. Тут нет ничего плохого, но может возникнуть проблема, если на сервере установлены ограничения на максимальный объем запросов и время выполнения скриптов.
4) Загрузка не будет асинхронной, т.е. произойдет перезагрузка страницы.
На сегодняшний день существует два основных варианта решения этих проблем. Использование iframe или flash (по-идее, silverlight тоже можно использовать для этих целей).
Читать дальше »
Опубликовано в HTML, JavaScript, PHP, Web разработка | View Comments
Ограничения фреймворков (на примере Yii)

О том, что фреймворки позволяют сократить время разработки, знают все. Но иногда при этом появляются самые неожиданные ограничения.
По-идее, так и должно быть. Каким бы универсальным не пытались сделать фреймворк разработчики, всегда чем-то приходится жертвовать. Точнее искать компромисс между количеством кода, который должен написать пользователь и гибкостью.
В этой статье я хочу показать пример такой ситуации, и, естественно, её решение.
Читать дальше »
Опубликовано в Ajax, HTML, JavaScript, PHP, Web разработка, Yii | View Comments
Плавающий виджет. Поддержка IE6.

Приветствую всех!
Некоторое время назад я опубликовал пост, в котором рассказывал о плагине для jQuery, позволяющем создать плавающий виджет.
Но, благодаря читателям этого блога, выяснилось, что протестировал я работу плагина не очень хорошо. За это всем ещё раз огромное спасибо! Очень приятно, что кто-то пользуется моим кодом и помогает делать его лучше.
Но вернёмся к плагину. Проблема возникла в широко известном браузере под названием IE6, о котором уже давно хочется забыть
… но есть люди, которые им пользуются ![]()
Читать дальше »
Опубликовано в CSS, HTML, JavaScript, Web разработка | View Comments
jQuery + плагины: сортировка и редактирование списка (часть вторая)

В прошлой статье я начал рассказывать о создании редактируемого html списка с возможностью сортировки записей. Мы рассмотрели структуру БД, создали страницу со списком, подключили JS скрипты и разобрали добавление записей.
Осталось немного доделать
Демо-версия находится здесь
Также вы можете скачать архив с этим примером
Удаление существующих записей
Читать дальше »
Опубликовано в Ajax, HTML, JavaScript, PHP, Web разработка | View Comments
jQuery + плагины: сортировка и редактирование списка

Довольно давно я написал статью о том, как с помощью библиотек Prototype и Scriptaculous добавить возможность редактирования и удаления записей обычному html списку (вообще-то это был цикл статей 1, 2, 3, 4, 5).
С тех пор несколько читателей просили доработать пример и добавить возможность сортировки записей.
Переделывать тот пример я не буду, т.к. Prototype сейчас практически не использую, лучше покажу, как решить задачу с помощью jQuery.
Сформулируем требования.
Необходимо создать html список с возможностями:
- изменение записей;
- удаление записей;
- изменение порядка записей.
Кроме того, необходимо предусмотреть возможность создания новых записей.
Читать дальше »
Опубликовано в Ajax, HTML, JavaScript, PHP, Web разработка | View Comments
Drag & Drop с использованием jQuery UI

В прошлый раз я рассказывал о перемещении блоков на странице в браузерах с поддержкой HTML5. Но, знаете, у меня последнее время складывается впечатление, что к тому времени как этим стандартом можно будет свободно пользоваться, он успеет устареть.
До сих пор часто требуется поддержка IE6, а перетаскивание объектов, о котором шла речь, не работает даже в IE8, и неизвестно, будет ли работать в девятой версии самого распространённого браузера. Рассчитывать же на то, что все пользователи вдруг откажутся от IE по-моему очень оптимистично.
В любом случае, решать сегодняшние задачи приходится доступными средствами. Это означает, что если вы не используете библиотек, то для перетаскивания объектов нужно создавать обработчики событий mousedown, mousemove и mouseup. Ничего запредельно сложного, но занятие это совсем не увлекательное. Поэтому, на мой взгляд, лучше использовать какую-нибудь библиотеку, например, jQuery UI.
Читать дальше »
Опубликовано в HTML, JavaScript, Web разработка | View Comments
Drag & Drop с использованием HTML5

К сожалению, на сегодняшний день использовать HTML5 довольно сложно. Стандарт в состоянии разработки и далеко не все браузеры поддерживают его возможности. Тем не менее, интересных нововведений в нём много и о них полезно знать. Поэтому сегодня я расскажу о моих экспериментах с перетаскиванием объектов (Drag & Drop).
Хочу предупредить. Приведённый ниже код работает в последних версиях Firefox и Google Chrome, в IE8 и Opera поддержка этих возможностей отсутствует.
Сразу даю ссылки на демонстрационную страничку и архив с примером.
Чтобы просто разобраться с принципом работы D&D я решил сделать страничку с текстовыми блоками, которые можно будет перетаскивать из одного контейнера в другой.
Читать дальше »
Опубликовано в HTML, JavaScript, Web разработка | View Comments
Плавающий виджет. Версия 2.

Как и обещал, сегодня выкладываю новую версию плагина для jQuery, позволяющего создать плавающий виджет с кнопками. Но, прежде всего, хочу поблагодарить всех, кто принял участие в обсуждении плагина. Вы очень помогли мне замечаниями и советами!
Сразу приведу ссылку на архив с новой версией.
Изменения и новые возможности
Читать дальше »
Опубликовано в CSS, HTML, JavaScript, Web разработка | View Comments
jQuery плагин: плавающий виджет с кнопками

Приветствую всех!
Сегодня хочу поделиться небольшим плагином для jQuery, который я разработал специально для этого блога.
UPD. Эта информация устарела, т.к. появилась новая версия плагина.
Идею плагина я позаимствовал на очень популярном блоге Mashable. Если вы откроете любую их статью, то слева от текста увидите небольшую панель с кнопками социальных сетей. Самое главное в том, что при прокрутке страницы, эта панель смещается вниз и кнопки видны постоянно.
Мне такое решение показалось очень удачным. Ведь, скорее всего, посетитель захочет отправить ссылку в твиттер после того, как прочтёт часть статьи. Поэтому будет неплохо, если соответствующая кнопка в нужный момент окажется перед глазами.
Возвращаемся к плагину.
Читать дальше »
Опубликовано в CSS, HTML, JavaScript, Web разработка | View Comments







