Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Простая Capcha для формы регистрации 
:(
    Опции темы
ProgressM
Дата 16.4.2009, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 16.4.2009

Репутация: нет
Всего: нет



Здравствуйте!
У меня следующая проблема: при проектировании сайта программист не потрудился сделать для формы регистрации - www.progressm.spb.ru/registration/ какую-нибудь элементарную защиту от ботов и нужно вписать в форму доп поле проверки типа "Сколько будет 2 умножить на 7:" как сделать само поле я знаю но как сделать проверку правильности ввода ответа (словом - четырнадцать, например)? В форме есть проверка валидности ввода адреса эл. почты, на её примере пробовал сам что-то сделать но не получилось. Подскажите пожалуйста что за код нужно вписать для проверки?
PM MAIL   Вверх
Рыжий
Дата 16.4.2009, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: 2
Всего: 20



ProgressM, Есть множество готовых решений, можете поискать в интернете, если же интересно это сделать самому, то готовый ответ генерируете еще на форме регистрации, помещаете его в сессию, а на следующей странице проверяете.
PM MAIL ICQ   Вверх
ProgressM
Дата 16.4.2009, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 16.4.2009

Репутация: нет
Всего: нет



Код проверки эл. адреса выглядит так:

if( !preg_match("/^.+@.+[.].+/",$mail) )
        {
        $err=1;
        $err_message.='<br>';
        } 

Как я понимаю надо сменить имя поля с $mail на имя поля проверки но что нужно прописать в круглых скобках? правильный ответ на капчу? И как это будет выглядеть если скажем ответ будет - "восемь"?

Я понимаю что в интернете есть готовые хорошие решения но не хочется сильно перекапывать код.
PM MAIL   Вверх
Sanchezzz
  Дата 16.4.2009, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



Код

<?
session_start(); 
  if(isset($_POST["submit"]) and intval($_POST["code"])!="")
    if($_SESSION["CODE"]==$_POST["code"]):  
    echo "Код введен верно!!!"; 
    $_SESSION["noform"]=true;
  endif; 
  
if(!isset($_SESSION["noform"]) || $_SESSION["noform"]==false):
  $var1 = rand(1,100);
  $var2 = rand(1,100); 
  $_SESSION["CODE"] = $var1 * $var2;
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
   <?="Сколько будет " .$var1." * ".$var2." = ?"?>
   <input name="code" type="text">
   <input name="submit" type="submit">
</form>
  <?endif;?>

посмотри еще эту тему  
может сделаешь проверку на суму прописью.


Это сообщение отредактировал(а) Sanchezzz - 16.4.2009, 14:32


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0416 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.