Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Clase captcha

Estas en el tema de Clase captcha en el foro de Frameworks y PHP orientado a objetos en Foros del Web. hola a todos :P Bueno implementando un captcha sensillo he tenido un problema Código PHP: class  Captcha {     public function  __construct (){          session_start ();           ...
  #1 (permalink)  
Antiguo 20/08/2008, 14:00
 
Fecha de Ingreso: julio-2008
Ubicación: México
Mensajes: 61
Antigüedad: 15 años, 9 meses
Puntos: 0
Clase captcha

hola a todos :P
Bueno implementando un captcha sensillo he tenido un problema
Código PHP:
class Captcha{
    public function 
__construct(){
        
session_start(); 
        
$captcha_texto "";
    
        for (
$i 0$i 4$i++)
            
$captcha_texto .= $this->caracter(); 
        
//session_register ();
        
$_SESSION['txt_capt'] =  $captcha_texto
        
        
$captcha_imagen imagecreate(110,40);
        
$color_fondo imagecolorallocate ($captcha_imagen240240240);
        
$color_letras imagecolorallocate ($captcha_imagen000);
        
        
imagefill($captcha_imagen00$color_fondo);
         
        
imagechar($captcha_imagen42013$captcha_texto[0] ,$color_letras);
        
imagechar($captcha_imagen54013$captcha_texto[1] ,$color_letras);
        
imagechar($captcha_imagen36013$captcha_texto[2] ,$color_letras);
        
imagechar($captcha_imagen48013$captcha_texto[3] ,$color_letras);
                
        
header("Content-type: image/jpeg");
        
imagejpeg($captcha_imagen);
    }
    
    private function 
caracter() {
        
mt_srand((double)microtime()*1000000);
        
$valor_aleatorio mt_rand(1,3);
        
        switch (
$valor_aleatorio) {
            case 
1:
                
$valor_aleatorio mt_rand(97122); 
            break;
            case 
2:
                
$valor_aleatorio mt_rand(4857);
            break;
            case 
3:
                
$valor_aleatorio mt_rand(6590);
            break;
        }    
        return 
chr($valor_aleatorio);
    }
    
    public static function 
verifica ($code){
        
session_start();
        
        
$txt_capt $_SESSION['txt_capt'];
    
        if (
$code == $txt_capt)
            return    
true;
        else
            return 
false;
            
        
session_unset();
        
session_destroy();        
    } 
esto me genera mi captcha pero como le podria hacer para que cuando haga la instancia de mi clase salga la imagen???
Código HTML:
<?
require_once 'captcha.php'; 
?>
<img src="<? new Captcha(); ?>"
<form action="verificar.php" method="post">
 <input name="code" type="text" id="texto_ingresado" size="30" />			
 <input type="submit" name="Submit" value="OK" />
</form> 
  #2 (permalink)  
Antiguo 20/08/2008, 14:12
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Clase captcha

Hola libso,

Tienes demasiados errores conceptuales, te recomiendo leer el manual de PHP, y tambien como es que funcionan los requests HTTP, y como es que se manejan los contenidos en HTML.

Saludos.
  #3 (permalink)  
Antiguo 20/08/2008, 14:31
 
Fecha de Ingreso: julio-2008
Ubicación: México
Mensajes: 61
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Clase captcha

ok ok gracias :P
  #4 (permalink)  
Antiguo 20/08/2008, 15:03
 
Fecha de Ingreso: mayo-2007
Ubicación: Home
Mensajes: 24
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Clase captcha

pequeño aporte..

http://insane.instropy.com/?p=32
  #5 (permalink)  
Antiguo 21/08/2008, 05:04
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 16 años, 8 meses
Puntos: 21
Respuesta: Clase captcha

creo que deberias hacer esto:

Código PHP:
header("Content-type: image/jpeg");  //esto lo quitas
        
imagejpeg($captcha_imagen); //especificas el fichero donde se guarda la imagen generada

//y devuelves el codigo html de la imagen
echo "<img src='".$rutaImagenGenerada."'>"
  #6 (permalink)  
Antiguo 25/08/2008, 12:51
Avatar de pablofmorales  
Fecha de Ingreso: abril-2008
Ubicación: Buenos Aires, Argentina, Argentina
Mensajes: 222
Antigüedad: 16 años
Puntos: 37
Respuesta: Clase captcha

Aca tenes un ejemplo mas "PHP5"

http://framework.zend.com/manual/en/zend.captcha.html

Última edición por pablofmorales; 25/08/2008 a las 13:35
  #7 (permalink)  
Antiguo 03/09/2008, 09:32
 
Fecha de Ingreso: agosto-2008
Mensajes: 21
Antigüedad: 15 años, 8 meses
Puntos: 3
Respuesta: Clase captcha

Esto es muy facil.

El captcha >> Una imagen creada por php con una cadena calculado

Asegurate que captcha.php tenga >>

Código PHP:
header("Content-type: image/jpeg");  //esto lo quitas 
session_start(); 
Esta linea arriba del todo.

Tambien el fichero con el formulario va necesitar
Código PHP:
session_start(); 
El HTML correspondiente

Código HTML:
<form action="verificar.php" method="post">
 <img src="captcha.php" />
 <input name="code" type="text" id="texto_ingresado" size="30" />			
 <input type="submit" name="Submit" value="OK" />
</form> 


Si tu pregunta es si puede embeber en una pagina html >> codigo de JPG creado por la clase, la respuesta es NO

una cosa es una imagen. otra cosa es txt plano.

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 03:14.