Foros del Web » Programando para Internet » PHP »

Fallo en el Captcha

Estas en el tema de Fallo en el Captcha en el foro de PHP en Foros del Web. Buenas llevo unos dias intentando resolver mi problema y no hay manera y esque realmente no entiendo lo que pasa porque este codigo ya lo ...
  #1 (permalink)  
Antiguo 14/10/2010, 09:28
 
Fecha de Ingreso: mayo-2010
Mensajes: 61
Antigüedad: 13 años, 11 meses
Puntos: 1
Fallo en el Captcha

Buenas llevo unos dias intentando resolver mi problema y no hay manera y esque realmente no entiendo lo que pasa porque este codigo ya lo utilice en otra pagina web, haber os explico

Tengo un formulario para poder dejar comentarios en una página donde el codigo es el siguiente:

<form id="formulario" name="formulario" method="post" action="visitas.php">
Su Nombre:
<br />
<input type="text" name="nombre" id="nombre" />
<br />
Su E-Mail (Si quiere):
<br />
<input type="text" name="email" id="email" />
<br>
Sus Comentarios:
<br />
<textarea name="comentarios" id="comentarios" rows="8" cols="40" ></textarea>
<br />
Ingresar el texto mostrado en la imagen <br>
<img src="php_captcha.php"><br>
<input name="tmptxt" type="text" size="30"><br>
<input name="action" type="hidden" value="checkdata">
<br />
<input type="hidden" value="seguir" name="oculto" id="oculto" />
<input type="submit" name="publicar" value="Publicar" onclick="validar(this.form)" />
</form>

Lo que he puesto en negrita es donde llamo a la pagina donde se encuentra el captcha y pone lo siguiente:

<?php
session_start();

$RandomStr = md5(microtime());// md5 to generate the random string

$ResultStr = substr($RandomStr,0,5);//trim 5 digit

$NewImage =imagecreatefromjpeg("img.jpg");//image create by existing image and as back ground

$LineColor = imagecolorallocate($NewImage,233,239,239);//line color
$TextColor = imagecolorallocate($NewImage, 255, 255, 255);//text color-white

imageline($NewImage,1,1,40,40,$LineColor);//create line 1 on image
imageline($NewImage,1,100,60,0,$LineColor);//create line 2 on image

imagestring($NewImage, 5, 20, 10, $ResultStr, $TextColor);// Draw a random string horizontally

$_SESSION['key'] = $ResultStr;// carry the data through session

header("Content-type: image/jpeg");// out out the image

imagejpeg($NewImage);//Output image to browser

?>

y aqué está el problema, parece que no llega a entrar en esta página ya que no me muestra ni la imagen de fondo ni los numeros y le he dado mil vueltas pero no encuentro el problema, los dos archivos están en el raíz y eso y esque no se que pasa,
alguien podria ayudarme??
Gracias de antemano
  #2 (permalink)  
Antiguo 14/10/2010, 09:32
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: Fallo en el Captcha

Deberías de llamar directamente al archivo para ver, es probable que no tengas activada la librería GD.

Saludos.
  #3 (permalink)  
Antiguo 14/10/2010, 09:35
 
Fecha de Ingreso: mayo-2010
Mensajes: 61
Antigüedad: 13 años, 11 meses
Puntos: 1
Respuesta: Fallo en el Captcha

me sale una pagina en blanco y arriba a la derecha la direccion, es decir localhost/infierno/php_captcha.php

y si no tengo la libreria activada como lo hago?

Gracias
  #4 (permalink)  
Antiguo 14/10/2010, 09:42
Avatar de rickyper  
Fecha de Ingreso: abril-2009
Mensajes: 182
Antigüedad: 15 años
Puntos: 10
Respuesta: Fallo en el Captcha

¿Estas guardando tus archivos con extension .php ?
__________________
www.granideamillonaria.com
  #5 (permalink)  
Antiguo 14/10/2010, 09:43
 
Fecha de Ingreso: mayo-2010
Mensajes: 61
Antigüedad: 13 años, 11 meses
Puntos: 1
Respuesta: Fallo en el Captcha

si claro todos los tengo como .php
  #6 (permalink)  
Antiguo 14/10/2010, 09:43
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: Fallo en el Captcha

La tienes que activar en el php.ini.

Saludos.
  #7 (permalink)  
Antiguo 14/10/2010, 09:46
 
Fecha de Ingreso: mayo-2010
Mensajes: 61
Antigüedad: 13 años, 11 meses
Puntos: 1
Respuesta: Fallo en el Captcha

ya las tenia activadas, eso es quitar el comentario en esta linea no?

extension=php_gd2.dll

ya la tenia descomentada.
esque el problema está en como si no encontrara el archivo y no se porque
  #8 (permalink)  
Antiguo 14/10/2010, 09:48
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: Fallo en el Captcha

Como te comento abre el archivo directamente en el navegador usando su ruta http://tuserver/php_captcha.php y verifica que te despliega.

Saludos.
  #9 (permalink)  
Antiguo 14/10/2010, 09:50
 
Fecha de Ingreso: mayo-2010
Mensajes: 61
Antigüedad: 13 años, 11 meses
Puntos: 1
Respuesta: Fallo en el Captcha

si es lo que te dije antes me sale una pantalla en blanco y arriba a la izquierda me pone la direccion, es decir, http://localhost/infierno/php_captcha.php
no me sale nada mas
  #10 (permalink)  
Antiguo 14/10/2010, 10:00
Avatar de rickyper  
Fecha de Ingreso: abril-2009
Mensajes: 182
Antigüedad: 15 años
Puntos: 10
Respuesta: Fallo en el Captcha

Que raro!!! prueba esto:
Código PHP:
Ver original
  1. header("Content-type: image/pjpeg");// out out the image
__________________
www.granideamillonaria.com
  #11 (permalink)  
Antiguo 14/10/2010, 10:01
 
Fecha de Ingreso: mayo-2010
Mensajes: 61
Antigüedad: 13 años, 11 meses
Puntos: 1
Respuesta: Fallo en el Captcha

lo siento por marear tanto pero nada he probado eso y sigue pasando lo mismo.

esque no me muestra ni la imagen de fondo que se pone dentro de php_captcha.php ni me muestra los numeros aleatorios, no hace nada!!!!
  #12 (permalink)  
Antiguo 14/10/2010, 10:04
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: Fallo en el Captcha

Comenta la línea del header() para que se muestre si hay más errores.

Saludos.
  #13 (permalink)  
Antiguo 14/10/2010, 10:09
 
Fecha de Ingreso: mayo-2010
Mensajes: 61
Antigüedad: 13 años, 11 meses
Puntos: 1
Respuesta: Fallo en el Captcha

Muchisimas Gracias, encontre el fallo.

Lo explico por si le pasa a alguien lo mismo

resulta que en la linea:

$NewImage =imagecreatefromjpg("bgcaptcha.gif");//image create by existing image and as back ground

la funcion imagecreatefromjpg debe ser cambiada por imagecreatefromgif ya que la imagen es punto gif

y en el header en vez de poner :

header("Content-type: image/jpg");// out out the image

hay que poner

header("Content-type: image/gif");// out out the image
ya que es un gif

Muchas gracias de verdad y un saludo
  #14 (permalink)  
Antiguo 14/10/2010, 10:19
Avatar de rickyper  
Fecha de Ingreso: abril-2009
Mensajes: 182
Antigüedad: 15 años
Puntos: 10
Respuesta: Fallo en el Captcha

Esta raro tambien deberia funcionar para extensiones .jpg,
Ahora ten cuidado cuando posteas, en el codigo que tu pones en ningun momento tienes esta linea:
Código PHP:
Ver original
  1. $NewImage =imagecreatefromjpg("bgcaptcha.gif");//image create by existing image and as back ground
Tienes esta
Código PHP:
Ver original
  1. $NewImage =imagecreatefromjpeg("img.jpg");//image create by existing image and as back ground
__________________
www.granideamillonaria.com
  #15 (permalink)  
Antiguo 14/10/2010, 10:20
 
Fecha de Ingreso: mayo-2010
Mensajes: 61
Antigüedad: 13 años, 11 meses
Puntos: 1
Respuesta: Fallo en el Captcha

Puede ser que despues la halla cambiado, lo siento

Etiquetas: captcha, fallo
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 18:18.