Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблемы с написанием капчи

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ATOM
Отправлено: 08 Мая, 2011 - 20:11:07
Post Id


Гость


Покинул форум
Сообщений всего: 101
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Товарищи такая проблема, не получается написать свою капчу.
captcha.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $rand=rand(1, 9);
  3. $rand2=rand(1,9);
  4. $rand_sum=$rand + $rand2;
  5. //echo "сумма $rand_sum<br>\n";
  6. //if ($rand + $rand2 == $rand_sum) {echo 'всё круто';} else {echo "трабла";}
  7. ?>

--
captcha2.php
PHP:
скопировать код в буфер обмена
  1. <?
  2. include 'captcha.php';
  3. echo '<form action="captcha2.php" method="post">';
  4. echo "сложите<br>\n";
  5. echo "$rand";
  6. echo "+";
  7. echo "$rand2";
  8. echo "<br>Введите капчу: <input type=\"text\" name=\"$rand_sum\" maxlength=\"5\" size=\"5\" >
  9. <input name=\"$rand_sum\" type=submit value=\"отправить\">
  10. </form>";
  11. if ($rand + $rand2 == $rand_sum) {echo 'всё круто';} else {echo "трабла";}
  12. ?>

нужно что бы когда ввёл в форму число если число равняется $rand_sum то выводилось "всё круто" если не равняется то "трабла".
понимаю что ошибка в условии, кто может подсказать
 
 Top
EuGen Администратор
Отправлено: 08 Мая, 2011 - 20:17:15
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Неправильно
Правильно так: captcha.php:
PHP:
скопировать код в буфер обмена
  1.  
  2. $message='';
  3. if(isset($_POST['query']))
  4. {
  5.    $message=($_POST['v0']+$_POST['v1']==$_POST['v'])?'Верно':'Не верно';
  6. };
  7. $v0=rand(1,9);
  8. $v1=rand(1,9);
  9. echo("
  10. <form action='captcha.php' method='POST'>
  11. <input type='hidden' name='v0' value=".$v0.">
  12. <input type='hidden' name='v1' value=".$v1.">
  13. Введите сумму ".$v0." + ".$v1."<br>
  14. <input type='text' name='v'><br>
  15. <input type='submit' name='query' value='Отправить'><br>
  16. ".$message."
  17. ");
  18.  


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
ATOM
Отправлено: 08 Мая, 2011 - 20:19:53
Post Id


Гость


Покинул форум
Сообщений всего: 101
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




спасибо большое
 
 Top
kappa
Отправлено: 09 Мая, 2011 - 09:37:54
Post Id



Посетитель


Покинул форум
Сообщений всего: 349
Дата рег-ции: Апр. 2011  


Помог: 3 раз(а)




Просто и понятно Радость , взял себе на заметку.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB