Мар 25

Делаем контактную форму. HTML5 и CSS3

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

Для того чтобы не возиться с кроссбраузерностью, будем использовать в качестве каркаса HTML5 Boilerplate.
Переходим по ссылке http://www.initializr.com/
Выбираем параметры и скачиваем.
custom boilerplate
Продолжить чтение

Мар 24

WordPress и сессия ($_SESSION)

Повозившись, можно обнаружить, что session_start() в wordpress не работает. Это не баг, сессия режется специально. Однако, есть способ обойти это ограничение:
Открываем файл functions.php активной темы. Он находится в каталоге wp-content/themes/<название темы>. И добавляем такой код.

В первой строке 1 добавляется для повышения приоритета. Таким образом обеспечивается вызов этого кода до инициализации всего остального. !function_exists() здесь вобщем-то не нужно, так как имя функции нетипичное. Но я считаю это хорошей практикой.

Вот, собственно, и все. Теперь можно пользоваться сессиями, как на чистом php.

Мар 21

Включаем mod_rewrite в apache под Ubuntu

Если не работает ЧПУ, нужно включить mod_rewrite. Делается это довольно просто.

Проверяем наличие файла rewrite.load в каталоге /etc/apache2/mods-available. Этот файл отвечает за загрузку модуля mod_rewrite.

Теперь переходим в /etc/apache2/mods-enabled и создаем символьную ссылку на rewrite.load

Убеждаемся, что в настройках виртуального хоста есть AllowOverride All. Подробнее о настройке и создании виртуальных хостов написано здесь.

И перезапускаем apache.

Готово.

Мар 18

Быстрая развертка(deploy) php-приложения на Heroku

Для начала нужно убедиться, что у вас установлен Heroku Toolbelt. Скачать его можно здесь. Кроме того, нужно иметь верифицированный аккаунт. Для верификации требуется номер банковской карты (при этом со счета снимется 1 доллар и практически сразу вернется). В статье используется пример с бесплатным тарифным планом, поэтому в дальнейшем деньги сниматься не будут.

Создаем в отдельной директории веб-приложение:

Теперь создаем в директории веб-приложения файл index.php с таким содержанием (c помощью этого кода выполняется соединение с автоматически созданной Heroku базой данных.):

Теперь выполняем следующие команды, чтобы узнать данные для соединения с бд:

Последняя команда возвращает строку с параметрами доступа к базе данных. Добавляем их в index.php:

Чтобы проверить, что у нас получилось выполняем:

Готово.