Проблем с captcha

kulov

Registered
Айде дойде и моят миг да питам :D :D
Значи проблема е доста странен, качвам си сайтчето на хостинг, и проблема идва от това, че на локалният ми хост, самата captcha си излиза с 3 букви и цифри, както трябва да е .. а на хостинга, изобщо не зачита цикъла, вади по много букви и цифри, и реално така като вади много те немогат да се видят всички и става мазаница .. Ако не сте ме разбрали, ще ви дам и снимка, значи ето така трябва да е, тоест както ми е на локалния

c63d60af3d25ccb4.PNG


а ето как е на хоста

3cbc7218ee3646d2.PNG


а ето и кода



Код:
<?php
session_start(); //стартираме сесията

for ($i=0; $i<3; $i++)
{
$captcha .= chr(rand(97,122));
}
//генерираме случайно петцифрено число с фукцията rand. Тя приема два параметъра. Първи е началното число, втория крайното число. Така ще генерира случайно число, което се намира между тези двете.

$code = md5($captcha);

//хешираме данните чрез md5 функцията
$_SESSION['captcha'] = $code;

//вкарваме всичко в сесия $_SESSION['captcha']

$width = 90;
$height = 35;

//създавам две променливи width и height за ширината и височината на изображнеието

$image = imagecreate($width,$height);

//Използваме функцията imagecreate() за да създадем изображението.

$background = imagecolorallocate($image,51,102,0);
$foreground = imagecolorallocate($image,245,245,245);

//задаване фона на снимката (в случая $background) и цвета на текста ($foreground). Сложил съм примерни имена на променливите.

imagestring($image,20,20,12, $captcha, $foreground);

header('Content-type: image/jpeg');

//задаваме content-type да е image/jpeg или според типа на изображението. Много е важно да бъде зададен.

imagejpeg($image);
imagedestroy($image);
?>
 
еми до колкото гледам кода ти го кодира на md5 махни го md5 хеширането и ще се оправи :)
Код:
$code = $captcha;
 
<?php
session_start(); //стартираме сесията
$captcha = rand(10000,99999);

//генерираме случайно петцифрено число с фукцията rand. Тя приема два параметъра. Първи е началното число, втория крайното число. Така ще генерира случайно число, което се намира между тези двете.

$code = md5($captcha);

//хешираме данните чрез md5 функцията
$_SESSION['captcha'] = $code;

//вкарваме всичко в сесия $_SESSION['captcha']

$width = 90;
$height = 35;

//създавам две променливи width и height за ширината и височината на изображнеието

$image = imagecreate($width,$height);

//Използваме функцията imagecreate() за да създадем изображението.

$background = imagecolorallocate($image,120,55,145);
$foreground = imagecolorallocate($image,245,245,245);

//задаване фона на снимката (в случая $background) и цвета на текста ($foreground). Сложил съм примерни имена на променливите.

imagestring($image,20,20,12, $captcha, $foreground);

header('Content-type: image/jpeg');

//задаваме content-type да е image/jpeg или според типа на изображението. Много е важно да бъде зададен.

imagejpeg($image);
imagedestroy($image);
?>

Така?
 
@bogdan4o не се оправя, аи аз при добавянето си го кодирам md5 :)
@baso предполагам, че не си разбрал кода просто, защото по твоя начин, хем, че стринга, който ще ми се появи ще е само с числа, хем, че дължината на стринга няма да е по-малко от 10000 :D
 
Пич пробвах, аз съм от хората, които не отхвърлят идеи :) Пробвах още пъривят пут когато ми каза.. същата работа, отделно, че виш самата грешка каква е .. то все едно няма цикъл ..
 
<?php
session_start(); //стартираме сесията

for ($i=0; $i<3; $i++)
{
$captcha .= chr(rand(97,122));
}
die($captcha);
?>

Това какво ти връща? 3 букви ли ?
 
Зарежи, махнанх го.. Може да заключите, трябваше ми спешно, защото иначе трябваше да го махна .. и така и стана .. много странно обаче защо се получаваше така .. Е каквото било било, благодаря на всички включили се ;)
 

Back
Горе