Foros del Web » Programando para Internet » PHP »

Captcha

Estas en el tema de Captcha en el foro de PHP en Foros del Web. Hola compañeros estoy intentando probar el ejemplo para crear un codigo visual http://www.forosdelweb.com/wiki/PHP:..._%28CAPTCHA%29 pero no me esta generando la imagen... Q me estara faltando para ...
  #1 (permalink)  
Antiguo 16/12/2009, 09:02
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 11 meses
Puntos: 35
Captcha

Hola compañeros estoy intentando probar el ejemplo para crear un codigo visual

http://www.forosdelweb.com/wiki/PHP:..._%28CAPTCHA%29

pero no me esta generando la imagen...

Q me estara faltando para probarlo???

Gracias
  #2 (permalink)  
Antiguo 16/12/2009, 09:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Captcha

pues depende mucho como lo haces...

¿¿tu también eres de los que cree que el foro es de adivinos??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/12/2009, 09:13
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 11 meses
Puntos: 35
Respuesta: Captcha

hay esta el enlace...
lo saque de las faqs e hice todo lo q esta ahy el problema es no genera la imagen.

http://www.forosdelweb.com/wiki/PHP:..._%28CAPTCHA%29
  #4 (permalink)  
Antiguo 16/12/2009, 09:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Captcha

pues si amigo, ya se que no genera la imagen... si no, no tendrías problemas...

pero ¿lo estas haciendo exactamente como dictan los ejemplos??

o esperas que alguien adivine exactamente lo que haces...


--
puedes intentar abrir directamente el script que genera la imagen... ¿que resulta??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 16/12/2009, 09:21
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 11 meses
Puntos: 35
Respuesta: Captcha

Ok peterluke no soy experto pero tampoco tan tonto si puse el enlace fue por q hice exactamente lo que dicta el ejemplo.

el error del script que genera la imagen es el siguiente.

No se puede mostrar la imagen “http://localhost/ejemplos/Captcha/genera_img.php” porque contiene errores.

De igual forma gracias por responderme pero se que en el foro no hay adivinos.
  #6 (permalink)  
Antiguo 16/12/2009, 09:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Captcha

perfecto!!

ahora si vamos bien... ¿puedes mostrar tu script que genera la imagen??

o aún mas sencillo: comenta las lineas de header() y recarga dicho script en tu navegador... ¿que sale ahora??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 16/12/2009, 09:25
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 11 meses
Puntos: 35
Respuesta: Captcha

Y para q estan los enlaces???...

genera_img.php

el cual precisamente generará la imagen que contendrá el password generado por gen_codigo.php

Código PHP:
Código PHP:
<?php
// Iniciamos uso de sesiones ...
session_start(); 
 
//recogemos el texto por el URL que enviamos a generar desde el link de imagen del HTML de nuestro formulario
$codigo=$_SESSION['mipass'];
 
//nombres tipografías a usar (sin extensión .ttf)
$tipografias = array("fuente1","fuente2");
 
//directorio donde estén las fuentes (ruta absoluta) importante el último /
$tipografias_ruta "C:\WINDOWS\Fonts\\";
// $tipografias_ruta="/home/sito/public_html/fonts/"; linux
 
//inicializa eje X desde donde se empezará a dibujar el código (referente al tamaño de la caja)
$espacio 0;
 
//tamaño fuente.
$tamano_fuente 20;
 
//profundidad caracteres/digitos del código a generar (password).
$profundidad_codigo 6// (alfanuméricos)
 
//cálculo Ancho automático de la caja
$x=150;
$y=40;
$angmax 20;
$hori 50;
$verti 100;
// Iniciar la generación de la imagen. Se define una caja de $x por $y pixels.
$im imagecreate($x$y);
 
 
//definición Colores. Expresados en valores R G B (respectivamente).
$color_fondo imagecolorallocate($im255255255); // Blanco
$color_texto imagecolorallocate($im000); // Negro
 
for($caracter=0$caracter<$profundidad_codigo$caracter++){
    
$rhori rand(-$hori$hori);
    
$rverti rand(-$verti$verti);
    
// intento de lineas
    
$lineColor imagecolorallocate($im000);
    
$lineColor2 imagecolorallocate($im000);
    
imagefill($im00$color_fondo);
    
//imageline( imagen, separacion izq, separacion superior, largo, inclinacion)
 
    //linias horizontales
    
imageline($im0$rhori200$rhori$lineColor);
    
imageline($im0$rhori+20200$rhori+20$lineColor);
    
// linias verticales, 
    
imageline($im$rverti025700$lineColor);
    
imageline($im$rverti+20025700$lineColor);
 
}
 
 
for(
$caracter=0$caracter<$profundidad_codigo$caracter++){
  
//seleccion de una tipografía aleatoria.
  
$indice_aleatorio=array_rand($tipografias);
  
$tipografia=$tipografias_ruta.$tipografias[$indice_aleatorio].'.ttf';
 
  
//separación entre caracteres
  
$espacio +=$tamano_fuente;
  
$ang rand(-$angmax$angmax); 
  
//generar el caracter gráfico.
  //imagettftext($im, $tamano_fuente, 0, $espacio, $tamano_fuente, $color_texto, $tipografia , $codigo{$caracter});
  
imagefttext($im$tamano_fuente$ang$espacio30$color_texto$tipografia$codigo{$caracter});
 
}
 
//cabecera HTTP la cual indica al navegador que la imagen que estamos generando es .PNG
header('Content-type: image/png');
 
//genera un png dinámico
imagepng($im);
//destruye la imagen del servidor
imagedestroy($im);
?>
  #8 (permalink)  
Antiguo 16/12/2009, 10:16
Avatar de kike00  
Fecha de Ingreso: febrero-2005
Ubicación: El Salvador
Mensajes: 180
Antigüedad: 19 años, 9 meses
Puntos: 7
Respuesta: Captcha

solo una cosa... busca las lineas que dicen
//nombres tipografías a usar (sin extensión .ttf)
$tipografias = array("fuente1","fuente2");

en el archivo genera_img.php tienes que cambiar "fuente1" y "fuente2" por el nombre real de las fuentes que quieres usar y que esten en $tipografias_ruta = "C:\WINDOWS\Fonts\\";
  #9 (permalink)  
Antiguo 16/12/2009, 10:19
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 11 meses
Puntos: 35
Respuesta: Captcha

Cita:
Warning: imagefttext() [function.imagefttext]: Invalid font filename in C:\wamp\www\ejemplos\Captcha\genera_img.php on line 67

Warning: imagefttext() [function.imagefttext]: Invalid font filename in C:\wamp\www\ejemplos\Captcha\genera_img.php on line 67

Warning: imagefttext() [function.imagefttext]: Invalid font filename in C:\wamp\www\ejemplos\Captcha\genera_img.php on line 67

Warning: imagefttext() [function.imagefttext]: Invalid font filename in C:\wamp\www\ejemplos\Captcha\genera_img.php on line 67

Warning: imagefttext() [function.imagefttext]: Invalid font filename in C:\wamp\www\ejemplos\Captcha\genera_img.php on line 67

Warning: imagefttext() [function.imagefttext]: Invalid font filename in C:\wamp\www\ejemplos\Captcha\genera_img.php on line 67
‰PNG ��� IHDR���–���(���îïÔ���*PLTEÿÿÿ��������������������� ������������������æSIŠ���¯IDATH‰c`@ @¼�ˆ ±H p³°˜å�WçÀ@Œš7�…!a™…0ax™Å$¸€˜‡aÔ¬Áa–a£FÍ"Á¬4$�‘––¤r @(‹�6� j.Ô5ÈîB¸†(?Žš3�¨,4j¥f50 U�cÖ*L°Î:…E7 «I,î‰4‹¨,D5³\�€‡‹‹�òqi’K€øH4&íæ‚V?�ßNÍqžÑÒ†����IEN D®B`‚
Esto es lo q sale con el header comentado. y en la pagina aparece el icono de la imagen pero sin generar nada..

Última edición por jam1138; 16/12/2009 a las 12:17 Razón: Enfocando el tema ...
  #10 (permalink)  
Antiguo 16/12/2009, 10:24
Avatar de kike00  
Fecha de Ingreso: febrero-2005
Ubicación: El Salvador
Mensajes: 180
Antigüedad: 19 años, 9 meses
Puntos: 7
Respuesta: Captcha

Esto es lo q sale con el header comentado. y en la pagina aparece el icono de la imagen pero sin generar nada..[/QUOTE]

Espero que hayas leido la respuesta que te di hace un momento.....
"Invalid font filename in " dejame traducirte por si no es tan claro el mensaje.... "nombre del archivo de fuente invalido en..."

Última edición por jam1138; 16/12/2009 a las 12:39 Razón: Enfocando el tema ...
  #11 (permalink)  
Antiguo 16/12/2009, 10:30
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 11 meses
Puntos: 35
Respuesta: Captcha

Gracias Kike por ahi iba la cosa. Ya me aparece la imagen pero escribo el codigo en la caja de texto y en todos me aparece q no coinciden...
Salu2.
  #12 (permalink)  
Antiguo 16/12/2009, 10:39
Avatar de kike00  
Fecha de Ingreso: febrero-2005
Ubicación: El Salvador
Mensajes: 180
Antigüedad: 19 años, 9 meses
Puntos: 7
Respuesta: Captcha

Cita:
Iniciado por maxpower2008 Ver Mensaje
Ya me aparece la imagen pero escribo el codigo en la caja de texto y en todos me aparece q no coinciden...
Salu2.
ese error se soluciona ...
en el archivo tupagina.php
busca la linea que dice $pass = genera_password(8); esta en la parte superior del archivo... cambia el 8 por 6
te quedaria $pass = genera_password(6);
y te tendria que funcionar
  #13 (permalink)  
Antiguo 16/12/2009, 11:08
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 11 meses
Puntos: 35
Respuesta: Captcha

OK Kike quedo solucionado.
gracias a todos por la ayudita.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:04.