Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблемы с каптчёй
 
 автор: (Sandr)   (25.09.2010 в 02:29)   письмо автору
 
 

Всем привет. Тут небольшая проблемка возникла с каптчёй. В общем при сравнении введённых данных с числом на картинке всё время выкидывает, что число введено не верно(( Помогите с устранением этой проблемы? заранее спасибо)


файл chislo.php
<?php session_start();
header ("Content-type: image/gif");
$randgb = mt_rand(1111, 9999);
$_SESSION['randgb'] = $randgb;
$image = imagecreate(mt_rand(65,68), mt_rand(38,34));
$col_fon = imagecolorallocate($image, mt_rand(200,255), mt_rand(200,255), mt_rand(200,255));

$col_text1 = mt_rand(0,150);
$col_text2 = mt_rand(0,150);
$col_text3 = mt_rand(0,150);

$col_text = imagecolorallocate($image, $col_text1, $col_text2, $col_text3);
$ttf = mt_rand(1,2).'.ttf';

$x = mt_rand(6, 9);
$y = mt_rand(24, 25);
imagettftext($image, 20, mt_rand(-4,4), $x, $y, $col_text, $ttf, $randgb);
imagegif($image);
?>



индексный файл:
<form action="?add=addgb2" method="POST">';
echo 'Имя:<br>
<input type="text" value="" name="namegb"><br>
Сообщение:<br/>
<textarea name="textgb" cols="29" rows="4">Текст</textarea><br>
<img src="/gb/chislo.php" alt=""/><br>
Введите символы с картинки выше:<br>
<input type="text" name="chislogb"/><br/>';
echo $randgb;
echo '<input type="submit" value="Отправить"/>
</form>


проверка осуществляется так: if($chislogb !== $_SESSION['randgb'])
{echo 'Введённое число не совпадает с проверочным!<br>
<a href="?add=addgb">Назад</a>'; session_destroy(); exit;}

  Ответить  
 
 автор: sim5   (25.09.2010 в 06:03)   письмо автору
 
   для: (Sandr)   (25.09.2010 в 02:29)
 

Проверяется где и почему $chislogb, а не $_POST['chislogb']?

  Ответить  
 
 автор: akmal   (28.09.2010 в 16:48)   письмо автору
 
   для: sim5   (25.09.2010 в 06:03)
 

Мoжет включена register globals...

  Ответить  
 
 автор: sim5   (28.09.2010 в 17:00)   письмо автору
 
   для: akmal   (28.09.2010 в 16:48)
 

И что, так и помереть с ней включенной? Хотя уверенности, что именно так нет, и все делается самотеком, ибо главная причина кроется вот тут:
<form action="?add=addgb2" method="POST">';

  Ответить  
 
 автор: (Sandr)   (28.09.2010 в 17:46)   письмо автору
 
   для: sim5   (28.09.2010 в 17:00)
 

Всё, разобрался. Ну, причина какбы не там крылась)) Но это уже не важно) Всем спасибо)

  Ответить  
 
 автор: sim5   (28.09.2010 в 17:55)   письмо автору
 
   для: (Sandr)   (28.09.2010 в 17:46)
 

Даже так? У вас атрибут action формы указывает адрес той же страницы, которая порождает форму, и если это таже страница, которая каптчу творит, а страница эта начинается с установки случайного числа и записи его в сессию, а значит по приходу формы.... ?
Да и если обращение у вас не через суперглобальные массивы, то это плохо.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования