Foros del Web » Programando para Internet » PHP »

manejo de sesiones en php

Estas en el tema de manejo de sesiones en php en el foro de PHP en Foros del Web. Buen dia y buen karma para todos ustedes. El problema que voy a plantear debe tener una solucion sencilla para muchos de ustedes, pero la ...
  #1 (permalink)  
Antiguo 16/12/2012, 01:22
 
Fecha de Ingreso: septiembre-2009
Mensajes: 56
Antigüedad: 14 años, 7 meses
Puntos: 0
manejo de sesiones en php

Buen dia y buen karma para todos ustedes.

El problema que voy a plantear debe tener una solucion sencilla para muchos de ustedes, pero la verdad a mi me esta volviendo LOCO.

¿Me podrian echar la mano POR FAVOR?

Mi captcha no funciona en firefox. Eso es todo. Funciona en IE y en Chrome, pero no en firefox.
Pienso que, por alguna razón, no estan trabajando las sesiones correctamente.
Al principio pense que era problema de habilitar cookies en el navegador pero estan habilidadas

Les dejo mis archivos por si les quieren hechar un ojo, solo como referencia porque funcionan bien en el resto de los exploradores.

GRACIAS DE ANTEMANO

captcha1.php
Código PHP:
 $ancho=90;
  
$alto=25;
 
$imagen=imageCreate($ancho,$alto);
  
$azul=ImageColorAllocate($imagen,50,50,255);

$valoraleatorio "";                 
   
$chars    'ABCDEFGHKMNPQRTUVWXYZ2346789';

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); 
login.php
Código PHP:
session_start();
$errorLogin $_SESSION['errorLogin'];
if     (
$errorLogin == 1) { $mensaje "El Campo \"USUARIO\" debe tener entre 8 y 12 caracteres no especiales"; }
elseif (
$errorLogin == 2) { $mensaje "El Campo \"PASSWORD\" debe tener entre 8 y 12 caracteres no especiales"; }
elseif (
$errorLogin == 3) { $mensaje "El Campo \"CAPTCHA\" debe tener exactamente 5 caracteres (letras y/o numeros)"; }
elseif (
$errorLogin == 4) { $mensaje "El captcha no corresponde"; }
elseif (
$errorLogin == or $errorLogin == or $errorLogin == 7) { $mensaje "El usuario / password no corresponde"; }
elseif (
$errorLogin == 8) { $mensaje "Tu usuario se encuentra SUSPENDIDO (no cancelado).<br>Comun&iacute;cate a [email protected] para solucionarlo"; }
$_SESSION['errorLogin'] = 0;


<
form name="Form1" method="post" action="cerradura.php" id="Form1">
// otros campos como usuario y password

<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" name="captcha_code" value="" onkeyup="this.value=this.value.toUpperCase()">

</
form
cerradura.php
Código PHP:
session_start();
$captcha $_SESSION['numeroaleatorio'];

/***EXTRAER LAS 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
POR EJEMPLO

$captcha_code
*/

// desues de una seride de if / else if para comprobar usuario y password, llegamos a verificar captcha

elseif ($captcha != $captcha_code//comparar el captcha tecleado por el usuario vs el generado automaticamente
    
{
    
$_SESSION['permisoCerradura']=0;
    
$_SESSION['errorLogin']=4;
    
header ("Location: login.php"); 
    } 
else
{
// sigue con la rutina


Etiquetas: manejo, sesiones, variables, usuarios
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 22:51.