Foros del Web » Programando para Internet » PHP »

Lio con sesiones

Estas en el tema de Lio con sesiones en el foro de PHP en Foros del Web. Hola a todos, bien, lo que trato de hacer en una web es ke metiendo una contraseña en un formulario haga aparecer un menu distinto, ...
  #1 (permalink)  
Antiguo 27/08/2007, 08:25
 
Fecha de Ingreso: junio-2007
Mensajes: 41
Antigüedad: 16 años, 11 meses
Puntos: 0
Lio con sesiones

Hola a todos, bien, lo que trato de hacer en una web es ke metiendo una contraseña en un formulario haga aparecer un menu distinto, como si fuera algo parecido a un menu de administrador.

Lo que hago es ke al introducir el codigo correcto kreo una sesion con session_start, y pongo una variable de sesion llamada logueado a 1, luego compruebo siempre ke si esta logueado aparezca el menu especial. Todo me va bien, pero kreo ke la session no se destruye al cerrar el navegador xloque siempre ke te logueas aparece logueado siempre,

No lo kiero hacer con cookies, solo con sessiones, y kreo ke ese es el problema, ke no se me destruye la sesion al cerrar el navegador, y entonces siempre aparece como logueado en cuanto mete el codigo una vez.

El codigo es este
Código PHP:
<?php
$logueado
=0;
    if(
$_POST['login'])
    {    
        require(
'funciones/conex.php');
        
$passw=trim($_POST['passw']);
        
$consulta="select palabra from wordsecret where palabra='$passw'";
        
$sql=mysql_query($consulta);
        
$num=mysql_num_rows($sql);
        if(
$num==1)
        {
            
session_start();
            
$_SESSION['logcorrecto']==1;
        }
        
mysql_free_result($sql);
        
mysql_close();
    }
    
    if(
$_SESSION['logcorrecto']==1);
        {
        
$logueado=1;
        }
?>
Este es una cabecera ke meto al inicio de la pagina, con esto hago ke en cuanto metas el codigo siempre aparezcas como logueado y ke solo te deslogues al destruir la session, pero el problema es ke no se me destruye nunca, ni en dias sin conectarme.

Solo lo he probado en localhost
  #2 (permalink)  
Antiguo 27/08/2007, 11:28
Avatar de Hazek  
Fecha de Ingreso: julio-2002
Ubicación: En mi casa :D ó ?
Mensajes: 418
Antigüedad: 21 años, 9 meses
Puntos: 3
Re: Lio con sesiones

Me parece y tienes un error en la linea que te marco con color rojo, mas que un error en realidad estas haciendo una evaluacion cuando al parecer quieres hacer una asignacion, de ser cierto lo que digo entonces seria: $_SESSION['logcorrecto'] = 1;

<?php
$logueado=0;
if($_POST['login'])
{
require('funciones/conex.php');
$passw=trim($_POST['passw']);
$consulta="select palabra from wordsecret where palabra='$passw'";
$sql=mysql_query($consulta);
$num=mysql_num_rows($sql);
if($num==1)
{
session_start();
$_SESSION['logcorrecto']==1;
}
mysql_free_result($sql);
mysql_close();
}

if($_SESSION['logcorrecto']==1);
{
$logueado=1;
}
?>
__________________
Tecnologias: Flash Platform, Java (Spring, HB, Struts, Grails), iOS, Android, JavaScript, PHP, SQL (MySQL, Oracle), Prolog, Assembler (PIC's) y Arduino - Electronica.
  #3 (permalink)  
Antiguo 27/08/2007, 13:19
 
Fecha de Ingreso: junio-2007
Mensajes: 41
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Lio con sesiones

Si era un fallo, pero bueno , el problema es ke la sesion no acaba, es decir, ke cierro el navegador, y lo vuelvo abrir y sigue como logueado, incluso con el paso de algunos dias sigue logueado. Como puedo cambiar eso?? o ke me falla respecto a este tema??

gracias por las respuestas d antemano.
  #4 (permalink)  
Antiguo 28/08/2007, 04:48
 
Fecha de Ingreso: junio-2007
Mensajes: 41
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Lio con sesiones

eyy, xfavor alguien ke me pueda ayudar!!!
  #5 (permalink)  
Antiguo 28/08/2007, 04:57
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Re: Lio con sesiones

¿Y no tendrás por ahí alguna cookie? Es que la sesión normalmente acaba después de cerrar el navegador. :pensado:

De todas formas, puedes limitar la sesisón con session_cache_expire().
  #6 (permalink)  
Antiguo 28/08/2007, 09:56
 
Fecha de Ingreso: junio-2007
Mensajes: 41
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Lio con sesiones

no utilizo nada de cookies, solo el session_start(), solo utilizo el codigo ke deje antes arriba.
  #7 (permalink)  
Antiguo 28/08/2007, 11:23
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: Lio con sesiones

Saludos, pues haciendo un a href a logout.php y con estas lineas, calculo que debería funcionarte...

Código:
logout.php
<?php
session_start();
session_unset();
session_destroy();
header("location: index.php");
?>
Saludos!
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 10:26.