Я работаю над простой формой PHP для подписки на новостную рассылку, поля которой основаны на этом формате:
$formArray['e'] = array(
'name' => __('Email', 'esu_lang'),
'validate'=> 'esu-required-email',
'id' => 'email',
'class' => 'esu-input',
'type' => 'text');
Чтобы избежать спама, я хотел бы добавить поле с вопросом «Какой сейчас год?», Чтобы только «Реальные люди» могли писать «2015». Технически, таким образом, я хотел бы требовать определенного содержимого («2015») для поля. Возможно ли это сделать без Javascript?
Я искал это в Интернете, но ничего не нашел.
Большое спасибо.
Вы можете написать свой вопрос как Заполнитель поля ввода.
Вставьте элемент ввода в форму HTML и дайте пользователю ввести текущий год. В PHP после получения запроса POST сравните введенное значение с годом PHPs.
Что-то вроде этого:
HTML:
<form method='post' action='handle.php'>
<!-- insert the remaining needed inputs -->
<input type='text' name='verify_human'>
</form>
PHP:
<?php
$verify_human = $_POST['verify_human'];
if ( $verify_human == date("Y", time()) ) {
return true;
} else {
return false;
}
?>
Вы можете использовать проверку массива с функцией данных («Y»), эквивалентной введенному пользователем вводу.