Ver Mensaje Individual
  #6 (permalink)  
Antiguo 28/05/2010, 19:02
Avatar de dcreate
dcreate
 
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 15 años, 1 mes
Puntos: 22
Respuesta: ayuda a hacer un captcha

mira encontre esto haber si te sirve amiga:

captcha.php

Código PHP:
Ver original
  1. <?php
  2.  
  3. //Creamos una cadena aleatoria de caracteres
  4. $md5 = md5(microtime() * mktime());
  5.  
  6. //Reducimos a 5 los caracteres
  7. $string = substr($md5,0,5);
  8.  
  9. ?>
  10. <?php
  11.  
  12. //creamos un fondo de imagen y lo subimos, luego con la funcion imagecreatefrompng, la pasamos al captcha
  13. $captcha = imagecreatefrompng("captcha.png");
  14.  
  15. //podemos configurar los colores para las lineas
  16. $black = imagecolorallocate($captcha, 0, 0, 0);
  17. $line = imagecolorallocate($captcha,233,239,239);
  18.  
  19. //y para evitar las arañas le añadimos las lineas
  20. imageline($captcha,0,0,39,29,$line);
  21. imageline($captcha,40,0,64,29,$line);
  22. ?>
  23. <?php
  24. //insertamos la cadena creada aleatoriamente en la imagen
  25. imagestring($captcha, 5, 20, 10, $string, $black);
  26.  
  27. //como no, encriptamos y almacenamos el valor de la cadena en una variabe sesion
  28. $_SESSION['key'] = md5($string);
  29.  
  30. //devolvemos la imagen para crearla
  31. header("Content-type: image/png");
  32. imagepng($captcha);
  33. ?>

index.php

Código PHP:
Ver original
  1. <?php session_start();?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <title>Documento sin titulo</title>
  7. </head>
  8.  
  9. <body>
  10. <?php
  11. if(isset($_POST['submit'])){
  12.  
  13.  
  14. /*
  15. Encriptamos la clave pasada por el formulario y luego la comparamos con el valor del captcha (almacenado en la variable de sesi�n)
  16. */
  17.  
  18. if(md5($_POST['code']) != $_SESSION['key']){
  19.  
  20. echo "no!";
  21.  
  22. } else {
  23.  
  24. echo "Bienvenido...";
  25.  
  26. }
  27.  
  28.  
  29. }else{?>
  30. <img src="captcha.php" border="0" />
  31.  
  32. <form name="captcha_form" method="POST" action="index.php">
  33.  
  34. <input type="text" name="code" width="25" />
  35.  
  36. <input type="submit" name="submit" value="submit" />
  37.  
  38. </form>
  39.  
  40. <?php } ?>
  41. </body>
  42. </html>

ha recuerda poner en tu carpeta una imagen, porq tienes q cubrir este codigo

$captcha = imagecreatefrompng("captcha.png");