Foros del Web » Programando para Internet » PHP »

Problemas con Sesiones.

Estas en el tema de Problemas con Sesiones. en el foro de PHP en Foros del Web. Hola gente..tengo una duda.... Yo tengo un index. que tiene un formulario...y pide usuario y contraseña.. ese formulario apunta a login.php en ese login.php hace ...
  #1 (permalink)  
Antiguo 04/08/2009, 13:07
 
Fecha de Ingreso: marzo-2009
Mensajes: 91
Antigüedad: 15 años, 7 meses
Puntos: 1
Problemas con Sesiones.

Hola gente..tengo una duda....


Yo tengo un index. que tiene un formulario...y pide usuario y contraseña..
ese formulario apunta a login.php

en ese login.php hace una consulta a la base de datos a ver si exite el usuario y la contraseña.

En caso de que los datos sean correctos crea una sesion. "session_start()"


Bueno..ahora vamos al problema..Yo tengo entendido que las sesiones..mientras no se cierre el navegador, siguen existiendo.

Cuando lleno el formulario con los datos correctos y entro al login.php y crea la session...anda perfecto..en el login me muestra el id de la sesion y todo..
pero..ahora yo quiero volver al index. (tengo un boton que dice "volver" con href="index.php"

Y supuestamente esta la sesion creada aun. pero cuando entro al index otra vez la sesion no existe mas. y me muestra el formulario otra vez como para inciar sesion.


Este es el codigo php de index. que verifica si existe la sesion.
Código PHP:
$id=session_id();

If (
$id!=""){ //Chieckea el valor del Session_id() para ver si ya se inicio.
 
session_start();
}

$id=session_id();


// y mas adelante en la parte donde aparece el formulario tiene el mismo if

If ($id!=""){//otra vez checkea el valor de la id para ver si contiene algo.
echo('Bienvenido<br>');
}else{
echo(
'
<form id="login" action="login.php" method="post">
<div class="fll">
<font size="3">Usuario&nbsp;</font><br><br>
<font size="3">Clave&nbsp;</font>
</div>
<div class="flr">

<input name="nombre" type="text" size="20"><br><br>
<input name="pass" type="password" size="20">
</div>
<br><br><br><br><input type="submit" value="Login" name="login">

<br>
</form>'
);


Nose si tendria que ponerle otras sentencias pero creo que no.
Para que quede claro...en NINGUN lugar yo tengo session_destroy()..nunca destruyo sessiones, Para que no tiren esa solucion. Y el login.php crea la session.
Yo creo que el tema es que la session no continua existiendo cuando yo vuevlo al index. Pero tengo entendido que continua hasta que se cierra el navegador. No sé.


Espero sus opiniones..Gracias.

Última edición por fackius; 04/08/2009 a las 13:41
  #2 (permalink)  
Antiguo 04/08/2009, 13:14
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 16 años, 3 meses
Puntos: 139
Respuesta: Problemas con Sesiones.

Depende de cual procedimiento estas utilizando para comprobar si el usuario esta registrado .
Ejemplo yo hago





1- Compruebo que el usuario y password sean correcto

Código PHP:
Ver original
  1.  
  2. ## Si son correctos entonces
  3. if ( $registro == "ok"){
  4.  
  5. ## Creo la session.
  6. $_SESSION["registrado"] = "ok";
  7.  
  8. }

Entonces en todos los archivo incluyo estas lineas

Código PHP:
Ver original
  1. session_start(); ## Importante no olvide iniciar la secciones en todos los documentos donde la utilices.
  2.  
  3. if($_SESSION["registrado"]!="ok"){
  4. include("Login.php");
  5. exit();
  6. }
  #3 (permalink)  
Antiguo 04/08/2009, 13:15
 
Fecha de Ingreso: julio-2008
Mensajes: 253
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Problemas con Sesiones.

Hola fackius, puedes utilizar el siguiente comando PHP para imprimir la sesiones

Código PHP:
print_r($SESSION
__________________
Neothek.com | Web hosting, registro de dominios, Diseño Web y Certificados SSL
  #4 (permalink)  
Antiguo 04/08/2009, 13:47
 
Fecha de Ingreso: marzo-2009
Mensajes: 91
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Problemas con Sesiones.

Gracias chicos....ya solucione.
Me habia olvidado que utilizaba $_SESSION para guardar datos y siempre quedaban almacenados.

Gracias.
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:20.