"Уже сегодня делай то, о чем другие будут думать завтра!"

Математический хук FormIt

Сайдбар

Математический хук (math hook) позволяет Вам включать вопросы с числами в форму для предотвращения спама. Он будет выводить числовой вопрос, на который нужно дать правильный ответ, вроде:

12 + 23?

 

Доступные свойства

Имя

Описание

По умолчанию

mathMinRange

Минимальный диапазон для каждого числа в уравнении.

10

mathMaxRange

Максимальный диапазон для каждого числа в уравнении.

100

mathField

Имя поля ввода ответа.

math

mathOp1Field

Имя поля 1-го числа в уравнении.

op1

mathOp2Field

Имя поля 2-го числа в уравнении.

op2

mathOperatorField

Имя поля оператора в уравнении.

operator

 

Использование

Просто укажите его как хук в своем запросе FormIt:

[[!FormIt? &hooks=`math`]]



Далее вставьте этот HTML в ту часть формы, где должен появляться математический вопрос:


<label>
[[!+fi.op1]] [[!+fi.operator]] [[!+fi.op2]]
?</label>
[[!+fi.error.math]]
<input type="text" name="math:required" value="
[[!+fi.math]]
" />
<input type="hidden" name="op1" value="
[[!+fi.op1]]
" />
<input type="hidden" name="op2" value="
[[!+fi.op2]]
" />
<input type="hidden" name="operator" value="
[[!+fi.operator]]
" />

 

Таким образом математический вопрос загрузится в место вывода под именем «math». Скрытые поля имеют решающее значение, так как они указывают FormIt, каким будет уравнение (так как при первой загрузке оно случайное).

 

Настройка оператора Text

Если Вы не хотите, чтобы в качестве оператора был просто «-» или «+», но хотите скрыть его от спам-ботов, можете использовать фильтры вывода для дальнейшего увеличения неоднозначности математического равенства. Измените с текстом уравнения текст на:


&lt;label>
[[!+fi.op1]] plus [[!+fi.op2]]
?&lt;/label><br /><br />

Таким образом, равенство будет представляться как «23 plus 41?» или «50 minus 12?» вместо символов -/+, усложняя задачу спам-ботам.

 




Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

telegram: @Accusser
skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Sign In