Este es el codigo de error:
captcha:
Código :
<?php define("CARPETA","fuentes/"); //nombre de la carpeta donde tenemos guardadas las imagenes, fuente y demas define("NOMBREFONDO","captcha"); //nombre de la imagen de fondo del captcha, sin la extencion (ejem: imagen.pnp, seria "imagen" define("EXTIMG","png");//extencion de la imagen del fondo(ejem: imagen.png seria "png") define("FUENTELETRA","VeraBd.ttf"); //nombre con extencion del arcvhivo de la fuente a usar define("TAMFUENTE",12); //definimos el tamano de la fuente define("TAMANOCAPTCHA",5); //tamano del codigo que queremos que aparesca en el captcha define("NUMEROLINEAS",7); //numero de lineas a dibujar en el captcha define("MAXFILES",5); //numero maximo de archivos que se guardaran temporalmente una vez que se genere el captcha class captcha{ function getcadenaencrip($tamanocaptcha){ do { $md5Hash = md5( microtime( ) * mktime( ) );// Generamos un string aleatorioamente y lo encriptamos con md5 preg_replace( '([1aeilou0])', "", $md5Hash ); //quitamos los caracteres indistinguibles } while( strlen( $md5Hash ) < $tamanocaptcha ); //generaremos el numero de caracteres que dice $captchaTextSize $cadenaencriptada = substr( $md5Hash, 0, $tamanocaptcha ); //guardamos la clave encriptada en la variable de sesion return $cadenaencriptada; } function crearimagen(){ $captchafondo = imagecreatefrompng( CARPETA.NOMBREFONDO.".".EXTIMG );//Especificamos la imagen del fondo $colortexto = imagecolorallocate( $captchafondo, 31, 118, 92 ); //elegimos color de texto $colorlineas = imagecolorallocate( $captchafondo, 15, 103, 103 );//elegimos color de lineas $infoimagen = getimagesize( CARPETA.NOMBREFONDO.".".EXTIMG); //recuperamos tama�o de la imagen de fondo $codigo=getcadenaencrip(TAMANOCAPTCHA); //dibujamos las lineas for($i=0;$i<NUMEROLINEAS;$i++){ $inicioX= mt_rand( 0, $imageInfo[ 0 ] ); $finX= mt_rand( 0, $imageInfo[ 0 ] ); //dibujamos lineas en el captcha imageline( $captchafondo, $xStart, 0, $xEnd, $imageInfo[1], $lineColor ); } imagettftext( $captchafondo, TAMFUENTE, 10, 35, 35, $colortexto, CARPETA.FUENTELETRA,$codigo); //Preparamos cabeceras de la imagen para que no se guarde en cache header ("Content-type:".CARPETA.EXTIMG); header("Cache-Control: no-cache, must-revalidate"); header("Expires: Fri, 19 Jan 1994 05:00:00 GMT"); header("Pragma: no-cache"); imagepng($captchafondo); } function borraimagenesguardadas(){ $DIR=opendir(CARPETA); $imagenes=array(); while(($nombre=readdir($DIR))){ if($nombre!= "." && $name != ".."){ $imagenes=$nombre; } } closedir($DIR); if(count($imagenes)==0)return; rsort($imagenes); while(count($imagenes)>MAXARCHIVOSIMAGENES) { $last=array_pop($imagenes); unlink(CARPETA.$last); } } } ?>
El formulario index.php
Código :
<?php session_start(); //iniciamos la sesión require_once('captcha.php'); $captcha = new Captcha(); ?> <html> <head></head> <body> <form action="validacion.php” method="post"> <?php $_SESSION['image_name'] =$captcha->crearimagen(); ?> <img src="<?php echo $_SESSION[’image_name’] ?>"> <input type="text" name="imageText" /> <input type="submit" name="action" value="Submit" /> </form> </body> </html>
El formulario lo tengo montado aqui:
http://jorgelig.la100rra.com.mx/pedidos/
Pd. La libreria GD esta habilitada
GD Support enabled
GD Version bundled (2.0.28 compatible)
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled