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]   

> Без описания
D1ma
Отправлено: 22 Июля, 2010 - 14:46:27
Post Id


Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Июль 2010  


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




PHP:
скопировать код в буфер обмена
  1. for ($i = 0; $i < 4; $i++) {
  2.    
  3.     $color = imagecolorallocate($image, rand(100,150), rand(100,150), rand(100,150));
  4.     $string = rand(1,9);
  5.     imagettftext($image, 19, 0, 5+$i*15, rand(20,25), $color, getcwd()."/Gear.ttf", $string);
  6. }
  7.  



генерирует случайных числа.. подскажите как мне как записать в переменную $_SESSION['code'] , 4 цифри ($string)

пробовал

PHP:
скопировать код в буфер обмена
  1. for ($i = 0; $i < 4; $i++) {
  2.    
  3.     $color = imagecolorallocate($image, rand(100,150), rand(100,150), rand(100,150));
  4.     $string = rand(1,9);
  5.     imagettftext($image, 19, 0, 5+$i*15, rand(20,25), $color, getcwd()."/Gear.ttf", $string);
  6.     $_SESSION['code'] = $string;
  7. }
  8.  
  9.  
  10.  

но записывается только одна цифра,последняя.

(Отредактировано автором: 22 Июля, 2010 - 14:47:12)

 
 Top
ZeiZ
Отправлено: 22 Июля, 2010 - 15:21:46
Post Id



Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Нояб. 2009  
Откуда: Москва


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




D1ma пишет:
пробовал

PHP:
скопировать код в буфер обмена
for ($i = 0; $i < 4; $i++) {

$color = imagecolorallocate($image, rand(100,150), rand(100,150), rand(100,150));
$string = rand(1,9);
imagettftext($image, 19, 0, 5+$i*15, rand(20,25), $color, getcwd()."/Gear.ttf", $string);
$_SESSION['code'] = $string;
}



PHP:
скопировать код в буфер обмена
  1.  
  2. $string = '';
  3. for ($i = 0; $i < 4; $i++) {
  4.    
  5.     $color = imagecolorallocate($image, rand(100,150), rand(100,150), rand(100,150));
  6.     $string = rand(1,9);
  7.     imagettftext($image, 19, 0, 5+$i*15, rand(20,25), $color, getcwd()."/Gear.ttf", $string);
  8.     $code .= $string;
  9. }
  10. $_SESSION['code'] = $code;
  11.  


так?
 
 Top
D1ma
Отправлено: 22 Июля, 2010 - 15:24:36
Post Id


Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Июль 2010  


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




ZeiZ, капча не работает Огорчение

---

$_SESSION['code'] .= $string;

так работает но числа остаются.. если ввел не правильно новые числа порсто добавляються в массив ( .

(Отредактировано автором: 22 Июля, 2010 - 15:33:49)

 
 Top
ZeiZ
Отправлено: 22 Июля, 2010 - 16:01:37
Post Id



Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Нояб. 2009  
Откуда: Москва


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




ну тогда весь код в студию... попробую помочь.
(Добавление)
D1ma пишет:
подскажите как мне как записать в переменную $_SESSION['code'] , 4 цифри ($string)


это-то у нас получилось? =)
 
 Top
D1ma
Отправлено: 22 Июля, 2010 - 16:12:30
Post Id


Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Июль 2010  


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




да 4 цифры в массив поместить получилось.. вот только при обновлении страницы с капчей они не перестают помещаться..
PHP:
скопировать код в буфер обмена
  1.  
  2. $image = imagecreate(70, 25);
  3. imagecolorallocate($image, 255, 255, 255);
  4. $pixelcolor = imagecolorallocate($image, 135, 135, 135);
  5.  
  6. for ($pix = 0; $pix < 160; $pix ++) {
  7.  
  8.     imagesetpixel($image, rand(1,70), rand(1,25), $pixelcolor);
  9. }
  10.  
  11. for ($i = 0; $i < 4; $i++) {
  12.    
  13.     $color = imagecolorallocate($image, rand(100,150), rand(100,150), rand(100,150));
  14.     $string = rand(1,9);
  15.     imagettftext($image, 19, 0, 5+$i*15, rand(20,25), $color, getcwd()."/Gear.ttf", $string);
  16.  
  17.     $_SESSION['code'] .= $string;
  18.  
  19. }
  20.  
  21. header ("Content-type: image/png");
  22. imagepng($image);
  23.  
  24.  
 
 Top
D1ma
Отправлено: 22 Июля, 2010 - 16:29:37
Post Id


Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Июль 2010  


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




В начале пишу

PHP:
скопировать код в буфер обмена
  1. if (!empty($_SESSION['code'])) $_SESSION['code']= '';


теперь работает только если нажимаю регистрацию , отправляю данные с помощью POST,проверяю и если вернуться назад то изображение не открывается,но если обновить страницу тогда откроется.

а если на странице проверки сделать



и при возврате на предыдущую страницу рисунок загружается.. подскажите что означает

ob_start(); ob_end_flush(); Улыбка
Прикреплено изображение
Безымянный.png

(Отредактировано автором: 22 Июля, 2010 - 16:58:31)

 
 Top
Arch-Web
Отправлено: 22 Июля, 2010 - 19:43:35
Post Id



Частый гость


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


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




PHP:
скопировать код в буфер обмена
  1. unset($_SESSION['code']);
  2.  
  3. $image = imagecreate(70, 25);
  4. imagecolorallocate($image, 255, 255, 255);
  5. $pixelcolor = imagecolorallocate($image, 135, 135, 135);
  6.  
  7. for ($pix = 0; $pix < 160; $pix ++) {
  8.     imagesetpixel($image, rand(1,70), rand(1,25), $pixelcolor);
  9. }
  10.  
  11. for ($i = 0; $i < 4; $i++) {
  12.     $color = imagecolorallocate($image, rand(100,150), rand(100,150), rand(100,150));
  13.     $string = rand(1,9);
  14.     imagettftext($image, 19, 0, 5+$i*15, rand(20,25), $color, getcwd()."/module/arial.ttf", $string);
  15.     $_SESSION['code'] .= $string;
  16. }
  17. header ("Content-type: image/png");
  18. imagepng($image);
 
 Top
D1ma
Отправлено: 22 Июля, 2010 - 21:41:01
Post Id


Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Июль 2010  


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




из-за unset($_SESSION['code']);

капча не работает.

(Отредактировано автором: 22 Июля, 2010 - 21:45:34)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB