Autor Zpráva
antispam
Profil *
Dobrý den,
mám od kámoše tento script:
<?php

ob_start(); 

$font = 'fonts/arial.ttf';

$charset = '0123456789';

$code_length = 4;

$height = 20;

$width = 60;


$code = '';
for($i=0; $i < $code_length; $i++) {
$code = $code . substr($charset, mt_rand(0, strlen($charset) - 1), 1);
}

$font_size = $height * 0.7;
$image = @imagecreate($width, $height);
$background_color = @imagecolorallocate($image, 255, 255, 255);
$noise_color = @imagecolorallocate($image, 114, 114, 114);

for($i=0; $i < ($width * $height) / 4; $i++) {
@imageellipse($image, mt_rand(0,$width), mt_rand(0,$height), 1, 1, $noise_color);
}

$text_color = @imagecolorallocate($image, 20, 40, 100);
@imagettftext($image, $font_size, 0, 7,17,
$text_color, $font , $code)
or die('Cannot render TTF text.');

header('Content-Type: image/png');
@imagepng($image) or die('imagepng error!');
@imagedestroy($image);

$_SESSION['AntiSpamImage'] = $code;
exit();

?> 


Funguje dobře, obrázek vytvoří ale nevím jak mám skontrolovat zda data zapsané di formuláře odpovídají obrázku...
<input class="textbox"  type="text" name="ochrana" value=""  size="28" />

Děkuji předem
radvis
Profil *
$_SESSION['antispamText'] = (předpokladam, že to bude $code) a pak das ten input a pomocí podmínky

 if($_GET['ochrana'] == $_SESSION['antispamText]){ //kod, ok}else{//kode blbě opsany}
AM_
Profil
Už tam na to session proměnnou má.
session_start();
if ($_POST['ochrana'] == $_SESSION['AntiSpamImage']) {
  //spravne
}
radvis
Profil *
aha, omlouvam se, nevsim jsem si.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: