Блог старого компьютера

Блог старого компьютера


Главная Joomla Joomla добавляем капчу в форму регистрации

Joomla добавляем капчу в форму регистрации

18.03.2013 07:05 Администратор Joomla
Печать PDF

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

И так для начала нам необходимо в саму форму регистрации добавить поле. Это делается в файле /components/com_user/views/register/tmpl/default.php. Открываем данный файл и вставляем в таблицу новую строку, я добавил ее после поля с подтверждением пароля. Добавляем следующий код:

<tr>
<td height="40">
 Введите число: <b>< ?php $rnd=rand(100,999);echo $rnd; $_SESSION['code']=$rnd;? ></b>
</td>
<td>
<input type="text" name="code" style="width:360px;" value="" />
</td>
</tr>

В данном html коде присутствует php код который генерирует случайное число от 100 до 999 (при желании диапазон можно поменять). Дальше сгенерированное число выводится на экран пользователя и записывается в сессии. В joomla пристутствует свой алгоритм работы с сессиями, в данном случае я его не использовал.

Пол дела сделано, теперь необходимо добавить проверку, правильно ли пользователь ввел число. Для этого нам необходимо открыть вот этот файл: /libraries/joomla/database/table/user.php

В нем после строки "var $id                = null;"  добавляем строку "var $code            = null;"

У вас получится вот что:

var $id = null;
var $code = null;

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

if (trim( $this->code ) != $_SESSION['code']) {
$this->setError('Неверно введено проверочное число');
return false;
}
unset($this->code);

 Это все дело будет у вас выглядеть примерно так:

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

Добавить комментарий


Защитный код
Обновить

Поиск

Голосование

Что Вы думаете на счет битрикса?
 

Все материалы раздела