Последнее время стало очень модно использовать авторизацию на сайтах при помощи социальных сетей, учетные записи которых есть практически у каждого пользователя всемирной паутины. Это не только удобно, но и очень функционально, что дает массу информации о пользователе, который только зашел на ваш сайт. В связи с этим у многих появляется необходимость организовать связь между социальными сетями, базой данных и своим сайтом. Наиболее рациональным я вижу использование сервиса Loginza, нежели собирать по кусочкам с каждой социальной сети модули oAuth. В данной статье пойдет речь об организации авторизации на сайте при помощи сервиса Loginza.
Благодаря следующей инструкции ненавистные спамеры не смогут: 1) Размещать комментарии с ссылками на свои "говносайты" от лица Гостей 2) Не смогут использовать второй вид спама, а именно Спама во вкладке профиля бота О себе
======================================================== =================Анти-Линк в комментариях=============== ========================================================
Сегодня я добрался до формы комментариев своего блога и слегка над ней поиздевался: добавил поле для указания аккаунта в Twitter и автоматическое увеличение поля для ввода сообщения. Посмотрел на всё это дело и понял, что у меня вполне симпатичные комментарии, отчего захотелось показать вам, как сделать такие же.
За всю историю блога я успел сотворить с комментариями следующее. Разделил комментарии и трекбеки. Очень наглядно это представлено на странице конкурса на «7 лучших советов начинающим блоггерам». Добавил возможность указать свой аккаунт в Твиттере, ссылка на который вместе с иконкой появляется под текстом комментария. Убрал гадость под названием «nofollow» — это такой тег, который делает из блоггера жадину в глазах его читателей. Установил простенький антироботовый заборчик. Сделал комментарии древовидными, отчего они и смотрятся симпатично, и искать в них информацию удобно. Добавление происходит с помощью технологии Ajax, которая позволяет не перезагружать страницу, когда в этом нет необходимости. Научил поле для ввода сообщения самоувеличиваться в зависимости от широты слога комментатора.
Теперь я подробно опишу свои действия и в качестве примера буду использовать свой сайт для «Тестирования разных штук», который постепенно обрастает всякими разностями.
WordPress это моя любимая ЦМС. С той поры как я познакомился с WordPress, все свои сайты я стал делать только на этом движке. У него есть масса своих плюсов, которые я не возьмусь сейчас перечислять. Но есть и некоторые минусы. Например, для того чтобы иметь возможность в полной мере оценить функционал этой системы необходимо хоть немного подучить PHP.
В интернетах полно длинных, сложных и нерабочих скриптов для распаковки zip-архива на сервере. Эта штука часто востребована дорвейщиками при заливке дорвеев на сервер, иногда – при установке скриптов на сервер. Да и мало ли зачем может пригодиться распаковать zip-файл? Например, чтобы установить на свой сервер какую-нибудь CMS или блог.
Решение есть, и оно состоит всего из 1 строки;). Итак, создайте файл, например, unz.php следующего содержания: <?php $z = new ZipArchive(); if ($z->open('arc.zip') === TRUE) { $z->extractTo('.'); echo "OK"; }?>
Что такое Snoopy? Snoopy - PHP класс, который имитирует веб-браузер. Он позволяет автоматизировать Задачи получения веб-страниц и отправку форм Некоторые из возможностей Snoopy:
Легкое получение содержимого веб-страницы Легкое получение текста с веб-страницы (HTML-теги вырезаны) Легкое получение ссылок с веб-страницы Поддержка прокси Поддержка авторизации Поддерживает установку user_agent-а, referrer ссылки, куки и заголовки Поддерживает редиректы, и контролирует глубину редиректов Легко отправлять форы и получать результат Поддерживает фрэймы Поддерживает передачу куки во время редиректов
В этой статье вы узнаете, как имитировать браузер на PHP, или как просто получить страницу веб-сайта средставами PHP, как это делает unix утилита Wget.
Получить страницу можно двумя способами, первый и самый простой, но возможно не совсем правильный, это воспользоваться функцией file_get_contents.
Время от времени приходится вести отсчет от или до какой-нибудь даты. Например, сколько времени осталось до празднования Нового Года или до зарплаты, что более актуально. Как высчитать нужный нам временной промежуток между двумя датами — текущей и прошедшей/будущей? Задача, на самом деле, очень простая, но почему-то нередко вызывает трудности. Почему? Не знаю… давайте уже делом займемся.
Решим задачу на «живом» примере. Не так давно как раз реализовывал описанный ниже алгоритм.
Предметная область
* Имеется некоторое количество игровых серверов, с которых, через заданный промежуток времени собирается некоторая статистика. * Собранная статистика записывается в локальную базу данных, где в одном из столбцов, в формате Unix timestemp, хранится время последнего обновления. * Для пользователя, на основе данных из БД, формируется таблица со статистикой, в том числе выводится время последнего обновления, дабы пользователь мог оценить актуальность данных.
Задача не подразумевает под собой ничего особенного. В принципе, так как дата хранится в формате Unix timestamp, то с помощью функции date() ее можно вывести в любом удобном нам представлении. Но, если учесть, что данные обновляются исключительно часто, допустим, раз в минуту, то выводить время обновления в привычном виде крайне неудобно. Мы будем заставлять пользователя смотреть на часы и самостоятельно определять сколько времени прошло с момента обновления информации. Согласитесь, гораздо более дружелюбно смотрелась бы фраза «обновлено 2 минуты назад» и ничего считать не нужно. Поэтому, задачу вычисления прошедшего промежутка времени лучше возложить на скрипт, чем мы сейчас и займемся.
Когда записей стало достаточно много, Коля решил разбить таблицу вывода на несколько страниц.
Здесь, как и в случае с сортировкой, основную работу на себя берет MySQL. Ключевым здесь является параметр LIMIT start, length, который указывает, что запрошено length строк, начиная со строки start.
Нам остается только: определить количество строк на странице организовать передачу номера страницы по номеру страницы и количеству строк на странице рассчитать стартовую строку базы данных организовать навигацию по страницам
Коля решил определить 12 строк на странице и,для простоты, не предусмотрел возможности его изменения пользователем. Переменныя, хранящая количество строк на странице расположена в начале файла, там где определены переменные для доступа к базе данных: // количество строк таблицы на странице $ROWS_ON_PAGE = 12;
Передача номера страницы будет осуществляться параметром page в URL, подобно сортировке. Простейшую навигацию, состоящую из цифровых ссылок на страницы, Коля расположил над таблицей вывода данных. Вот код пагинации:
Часто при создании динамических сайтов (отсутствуют страницы как таковые) на базе данных или на файлах возникает вопрос о постраничном выводе информации будь - то статьи, архив новостей или что нибудь другое содержащие довльно большое количество страниц. Поэтому мы начинаем (если сами не сообразим или кто-нибудь не поможет) рыскать по Интернету в поисках нужного кода, но приличный постраничный вывод найти тяжело. Так что попробуем сделать сегодня что нибудь хорошее, а главное рабочее.
Ниже будет приведён код простейшей функции постраничного вывода, эту функцию можно использовать на небольших сайтах. Все комментарии будут приведены в самой функции, я думаю Вы разберётесь.