Foros del Web » Programando para Internet » PHP »

captcha no reconocido en iternet explorer

Estas en el tema de captcha no reconocido en iternet explorer en el foro de PHP en Foros del Web. Buen dia gente.. Primero aclaro que no tengo mucha experiencia programando en php, así que tal vez mi duda será muy basica... y por lo ...
  #1 (permalink)  
Antiguo 13/03/2014, 23:12
 
Fecha de Ingreso: septiembre-2009
Mensajes: 56
Antigüedad: 14 años, 7 meses
Puntos: 0
captcha no reconocido en iternet explorer

Buen dia gente..
Primero aclaro que no tengo mucha experiencia programando en php, así que tal vez mi duda será muy basica... y por lo mismo agradezo ENORMEMENTE su ayuda.

Tengo un programa que en su login require captcha. El codigo php para generar captcha es un archivo llamado captcha1.php cuyo codigo es el siguiente:

Código PHP:
$ancho=90;
  
$alto=25;
  
$imagen=imageCreate($ancho,$alto);
  
$gris=ImageColorAllocate($imagen,180,180,180);
  
ImageFill($imagen,0,0,$gris);
  
$azul=ImageColorAllocate($imagen,50,50,255);
  
$amarillo ImageColorAllocate($imagen,225,225,0);
  
$verde ImageColorAllocate($imagen,50,255,50);
  
$rosa ImageColorAllocate($imagen,255,190,255);

  for(
$c=1;$c<=10;$c++)
  {
    
$x1=rand(0,$ancho);
    
$y1=rand(0,$alto);
    
$x2=rand(0,$ancho);
    
$y2=rand(0,$alto);
    
ImageLine($imagen,$x1,$y1,$x2,$y2,$amarillo);
    
$x1=rand(0,$ancho);
    
$y1=rand(0,$alto);
    
$x2=rand(0,$ancho);
    
$y2=rand(0,$alto);
    
ImageLine($imagen,$x1,$y1,$x2,$y2,$verde);
    
$x1=rand(0,$ancho);
    
$y1=rand(0,$alto);
    
$x2=rand(0,$ancho);
    
$y2=rand(0,$alto);
    
ImageLine($imagen,$x1,$y1,$x2,$y2,$rosa);
  }  
  
  
$valoraleatorio "";                 
   
$chars    'ABCDEFGHKMNPQRTWXYZ2346789';

for (
$i=1$i<=5$i++) // generara 5 caracteres
{
$valoraleatorio .= $chars[mt_rand(0strlen($chars)-1)];
}
  
  
//$valoraleatorio=rand(100000,999999);
  
session_start();
  
$_SESSION['numeroaleatorio']=$valoraleatorio;
  
ImageString($imagen,5,25,5,$valoraleatorio,$azul);

  
  
Header ("Content-type: image/jpeg");
  
ImageJPEG ($imagen);
  
ImageDestroy($imagen); 
en la pagina login.php tengo una forma que llama al captcha de esta forma:

Código HTML:
<form name="Form1" method="post" action="cerradura.php" id="Form1" onsubmit="return ValidateForm1(this)">

Usuario:<input type="text" id="Editbox1" style="position:absolute;left:183px;top:45px;width:98px;height:18px;line-height:18px;z-index:0;" name="usuario" value="" maxlength="12" tabindex="10">

Password:<input type="password" id="Editbox2" style="position:absolute;left:183px;top:70px;width:98px;height:18px;line-height:18px;z-index:1;" name="password" value="" maxlength="12" tabindex="20">

<div id="wb_Captcha1" style="position:absolute;left:77px;top:107px;width:204px;height:36px;z-index:3;padding:0;">
<img src="captcha1.php" id="Captcha1Imagen" alt="Click para generar nuevos caracteres" title="Click para generar nuevos caracteres" style="cursor:pointer;width:100px;height:38px;" onclick="this.src='captcha1.php?'+Math.random()">

<input type="text" id="Captcha1Edit" style="position:absolute;left:105px;top:16px;width:104px;height:20px;line-height:20px;;" name="captcha_code" value="" tabindex="30" onkeyup="this.value=this.value.toUpperCase()"></div>

<input type="submit" id="Button1" name="" value="Login" style="position:absolute;left:187px;top:176px;width:96px;height:25px;z-index:6;" tabindex="40">

<div id="wb_Text5" style="position:absolute;left:12px;top:210px;width:412px;height:16px;text-align:center;z-index:8;">
<span style="color:#FF0000;font-family:Arial;font-size:13px;"><?php echo $mensaje; ?></span>
</div>
</form> 
El archivo cerradura.php (a donde dirige el archivo anterior) tiene el siguiente codigo

Código PHP:
session_start();
$captcha $_SESSION['numeroaleatorio'];
include(
"parametros.php");
/***RECUPERAR VARIABLES POR POST ***/
$numeroPost count($_POST);
$tagsPost array_keys($_POST); // obtiene los nombres de las varibles
$valoresPost array_values($_POST);// obtiene los valores de las varibles
// crea las variables y les asigna el valor
for($i=0;$i<$numeroPost;$i++){ 
$
$tagsPost[$i]=$valoresPost[$i]; 
}
/*
ahora solo hay que llamar las variables por su nombre
ejemplo:
$usuario
$password
$captcha_code
*/

// DESDE LA BBDD VERIFICO usuario y pasword, y son correctos, y verifico el captcha de esta manera

if (strlen($usuario) < or strlen($usuario) > 12 or $usuario == "")
    {
    
$_SESSION['permisoCerradura']=0;
    
$_SESSION['errorLogin']=1;
    
header("Location: login.php");
    }
elseif (
strlen($password) < or strlen($password) > 12 or $password == "")
    {
    
$_SESSION['permisoCerradura']=0;
    
$_SESSION['errorLogin']=2;
    
header("Location: login.php");
    }
elseif (
strlen($captcha_code) != 5  or $captcha_code == "")
    {
    
$_SESSION['permisoCerradura']=0;
    
$_SESSION['errorLogin']=3;
    
header("Location: login.php");
    }
elseif (
$captcha != $captcha_code// comparar el captcha tecleado por el usuario vs el generado automaticamente... AQUI ES DONDE NO REACCIONA EL EXPLORER
    
{
    
$_SESSION['permisoCerradura']=0;
    
$_SESSION['errorLogin']=4;
    
header ("Location: login.php"); 
    } 
elseif (
$usuarioBD == ""//comparar el password tecleado por el usuario vs la contraseña de la bbdd
    
{
    
$_SESSION['permisoCerradura']=0;
    
$_SESSION['errorLogin']=5;
    
header ("Location: login.php"); 
    }
elseif (
$passwordBD == "" //comparar el password tecleado por el usuario vs la contraseña de la bbdd
    
{
    
$_SESSION['permisoCerradura']=0;
    
$_SESSION['errorLogin']=6;
    
header ("Location: login.php"); 
    }
elseif (
$password != $passwordBD//comparar el password tecleado por el usuario vs la contraseña de la bbdd
    
{
    
$_SESSION['permisoCerradura']=0;
    
$_SESSION['errorLogin']=7;
    
header ("Location: login.php"); 
    }
else
    {
    
$_SESSION['permisoCerradura']=1;
    
$_SESSION['abonado']=$usuarioBD;
    
$_SESSION['idAbonado']=$idAbonado;
    
header ("Location: menu.php");
    } 
LO que me esta volviendo loco es que esto funciona perfectamente en los navegadores firefox y chrome, pero mis clientes utilizan I.E. eventualmente y ahi no funciona. Alguien sabe ¿qué debo cambiar para que funcion tambien en el explorer?

GRACIAS!!!!

Etiquetas: captcha, explorer, variable
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 11:55.