[AYUDA]Script captcha

Iniciado por Adramelech, 28 Agosto 2008, 03:00 AM

0 Miembros y 1 Visitante están viendo este tema.

Adramelech

Simplemente, que hago mal?

<?
session_start();
$md5 = md5(microtime() * mktime());
$string = substr($md5,0,5);
$captcha = imagecreatefrompng("./captcha.png");
$black = imagecolorallocate($captcha, 0, 0, 0);
$line = imagecolorallocate($captcha,233,239,239);
imageline($captcha,0,0,39,29,$line);
imageline($captcha,40,0,64,29,$line);
imagestring($captcha, 5, 20, 10, $string, $black);
$_SESSION['key'] = md5($string);
header("Content-type: image/png");
imagepng($captcha);
session_start();
if(md5($_POST['code']) != $_SESSION['key'])
{
                    die("Error: Nos has introducido el codigo correcto");
}else{
                    echo 'Codigo Correcto, no eres una maquina ó al menos no lo pareces';
}
?>

Diabliyo

Cita de: Adramelech en 28 Agosto 2008, 03:00 AM
Simplemente, que hago mal?

<?
session_start();
$md5 = md5(microtime() * mktime());
$string = substr($md5,0,5);
$captcha = imagecreatefrompng("./captcha.png");
$black = imagecolorallocate($captcha, 0, 0, 0);
$line = imagecolorallocate($captcha,233,239,239);
imageline($captcha,0,0,39,29,$line);
imageline($captcha,40,0,64,29,$line);
imagestring($captcha, 5, 20, 10, $string, $black);
$_SESSION['key'] = md5($string);
header("Content-type: image/png");
imagepng($captcha);
session_start();
if(md5($_POST['code']) != $_SESSION['key'])
{
                    die("Error: Nos has introducido el codigo correcto");
}else{
                    echo 'Codigo Correcto, no eres una maquina ó al menos no lo pareces';
}
?>


Tal vez deberias colocar el codigo del formulario !!...

Por otro lado, no veo necesario llamar dos veces session_start();, con una sola vez basta !!


FeArX

Tambien seria de buena ayuda saber que error te esta dando!
Solo los mas debiles son los que no quieren ni estan dispuestos a dejar de depender de los demas

Adramelech

Pasa que no me da error, nunca muestra la imagen. Codigo del formulario:

      Ingresar el texto mostrado en la imagen <br>
      <form action="captchademo.php" method="post">
      <img src="captcha.php" width="100" height="30"><br>
      <input name="tmptxt" type="text"><br>
      <input name="btget" type="submit" value="Verificar Codigo">
      <input name="action" type="hidden" value="checkdata">
      </form>


Aparece así, como si la imagen no estubiera pero SEGURO esta en la carpeta:


дٳŦ٭

LLama la imagen directa desde el explorador y dinos qué error te manda.

Suerte


Con sangre andaluza :)


Karman

por lo que se ve no encuentra la imagen, por consiguiente es probable que no esté pudiendo escribirla... asegúrate de tener los permisos requeridos en el directorio para que la función pueda escribir la imagen...

S2