вторник, 21 декабря 2010 г.

Подключаем w3captcha к php-фреймворку Codeigniter

Аккуратно встраиваем капчу w3captcha в php-фреймворк Codeigniter

Я уже долгое время использую капчу от W3BOX, спам она не пропускает, выглядит красиво.

Установка
  1. На сайте w3box скачиваем капчу и шрифт
  2. Создаем в корне codeigniter папку captcha, копируем туда скачанные файлы

Далее покажу как использовать капчу на примере регистрации

Контроллер:

<?php

class Auth extends Controller {

function Auth() {

parent::Controller();

$this->load->library('form_validation');

}

function registration() {

// В контроллере где требуется проверка капчи подключаем сессию

session_start();

$val = $this->form_validation;

//Для того чтобы проверить корректность капчи и правильность кода используем //form_validation

$val->set_rules('captcha', 'капча', 'trim|required|xss_clean|numeric|exact_length[5]|callback_captcha_check');

//Ваш код

}

/* Проверка captcha */

function captcha_check($code) {

$result = FALSE;

$this->form_validation->set_message('captcha_check', 'Неправильно введен код с картинки');

if (isset($_SESSION["captcha"]) && $_SESSION["captcha"] === $code) {

$result = TRUE;

}

// обязательно необходимо удалять переменную $_SESSION["captcha"]

unset($_SESSION["captcha"]);

return $result;

}

}

Представление:

<form action="/check.php" method="post">

//Достаточно указать путь к php-файлу капчи

<img src="captcha/captcha.php" alt="Картинка" /><br />

Текст на картинке: <input type="text" name="captcha" /><br />

<input type="submit" name="submit" value="Проверить" />

</form>

HeidiSQL - отличная замена phpmyadmin

Инструмент для удобной работы с MySQL - HeidiSQL

Как и большинство я начал работу с MySQL с помощью замечательного инструмента phpmyadmin, через достаточное длительное время я начал искать ему замену, сразу искал бесплатное декстопное приложение.

Мой выбор упал на HeidiSQL после прочтение статьи в хакер.

HeidiSQL позволяет делать привычные вещи с базой данных легче и приятней.

Вещает программа 4790K и скачать ее можно с официального сайта на странице загрузка

Как добавить Zend_debug в Codeigniter

Добавляем Zend_debug в Codeigniter в качестве хелпера

Мне нравится как реализован Zend_debug, использую его часто для отладки своих проектов.

Информацию по Zend_debug можно посмотреть в официальной документации по ссылке.

Пример использования:

Zend_Debug::dump($data);

Как подключить к Codeigniter

  1. Скачиваем хелпер
  2. Копируем его в system/application/helpers/
  3. Теперь в конструкторе контроллера прописываем $this->load->helper('debug');
  4. Чтобы вызвать хелпер пишем Zend_Debug::dump($data);

Пример из жизни
<?php
class Auth extends Controller {
    function Auth() {
        parent::Controller();
        $this->load->helper('debug');
              }
    function login() {
        $data['name'] = 'Hello';
        $data['password'] = 'world';
        Zend_Debug::dump($data);
    }
}