Foros del Web » Programando para Internet » PHP »

Error extraño con sesiones

Estas en el tema de Error extraño con sesiones en el foro de PHP en Foros del Web. Hola, foreros: Tengo un formulario donde introduciendo el nick y el password se inicia sesion. Todo funciona bien, pero no tengo ni idea, algunas veces ...
  #1 (permalink)  
Antiguo 18/04/2008, 08:04
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Error extraño con sesiones

Hola, foreros:

Tengo un formulario donde introduciendo el nick y el password se inicia sesion. Todo funciona bien, pero no tengo ni idea, algunas veces no funciona...

Me estoy volviendo loco... cada vez que lo escribo de nuevo y lo vuelvo a subir funciona perfectamente, pero pasan unas horas o dias y sin nigun motivo no funciona...

Pongo el php que utilizo, por si veis algun problema:

Código PHP:
<form action="logearse2.php" method="POST">
<table align="center" width="225" cellspacing="2" cellpadding="2" border="0">
<tr>
    <td colspan="2" align="center" 
    <?if ($_GET["errorusuario"]=="si"){?>
        bgcolor=red><span style="color:ffffff"><b>Datos incorrectos</b></span>
    <?}else{?>
        bgcolor=#cccccc>Introduce tu clave de acceso
    <?}?></td>
</tr>
<tr>
    <td align="right">USER:</td>
    <td><input type="Text" name="nick" size="8" maxlength="50"></td>
</tr>
<tr>
    <td align="right">PASSWD:</td>
    <td><input type="password" name="password" size="8" maxlength="50"></td>
</tr>
<tr>
    <td colspan="2" align="center"><input type="Submit" value="ENTRAR"></td>
</tr>
</table>
</form>
Y el otro:

Código PHP:
<?
    
include('metodo_de_conexion.php');
    
$sql "SELECT * FROM usuarios WHERE nick='".$_POST["nick"]."'";    
    
$result mysql_query($sql);
    
$row=mysql_fetch_array($result);
    if (
$row["password"] == $_POST["password"]){
        
session_start();
        
$_SESSION["autentificado"]= "SI";
        
$_SESSION["usuario"]= $_POST["nick"];
        
header ("Location: aplicacion.php");    
    }else {
        
header("Location: logearse1.php?errorusuario=si");
    }
?>
¿Alguna cosa?, de verdad, me estoy volviendo loco loco...

Problema con el servidor lo dudo, pues comprueba la contraseña y el usuario y no da probla, solo no inicia sesion...

Última edición por salbatore; 18/04/2008 a las 08:09
  #2 (permalink)  
Antiguo 18/04/2008, 08:22
Avatar de eft0  
Fecha de Ingreso: junio-2003
Ubicación: Santiago - Chile
Mensajes: 635
Antigüedad: 20 años, 10 meses
Puntos: 9
Re: Error extraño con sesiones

En ambos archivos el session_start() debe estar presente, y en la 1era linea de codigo.
  #3 (permalink)  
Antiguo 18/04/2008, 08:25
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Error extraño con sesiones

Uhmm que raro prueba así tu código, creo que deberias comparar ambos datos, nick y password


Código PHP:
<?
    
include('metodo_de_conexion.php');
    
$nick $_POST['nick'];
    
$password _POST['password'];
    
$sql "SELECT * FROM usuarios WHERE nick= '$nick' AND password = '$password'";
    
$result mysql_query($sql) or die( mysql_error() );
    
$row mysql_fetch_array($result);
    if (
$row['password'] == $password && $row['nick'] == $nick){
        
session_start();
        
$_SESSION["autentificado"]= "SI";
        
$_SESSION["usuario"]= $nick;
        
header ("Location: aplicacion.php");    
    }else {
        
header("Location: logearse1.php?errorusuario=si");
    }
?>
Saludos.
  #4 (permalink)  
Antiguo 18/04/2008, 08:32
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Re: Error extraño con sesiones

No, aun con el codigo de Carlojas tampoco va, le corregi un error que tiene = _POST, pero ni con esas...

¿Alguna otra solucion?
  #5 (permalink)  
Antiguo 18/04/2008, 08:57
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Error extraño con sesiones

Y como es que validas los datos de sesion en aplicacion.php? probaste lo que te dijeron antes poner el session_start() al inicio de cada página donde utilizes las variables de sesion?



Saludos.
  #6 (permalink)  
Antiguo 18/04/2008, 09:06
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Re: Error extraño con sesiones

Hola, Carlojas:

El problema no esta en aplicacion.php, pues solo la sesion se inicia en logearse2.php, en aplicacion solo se muestra el nick de la sesion, ya iniciada, nada mas...

Y session_start(); esta en logearse2.php, despues de validar la contraseña...

¿No se por que no va?
  #7 (permalink)  
Antiguo 18/04/2008, 09:10
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Re: Error extraño con sesiones

Hola de nuevo foreros:

He subido todo de nuevo a otra carpeta pero solamente la opcion de logearse.php, aplicacion.php, y algun otro archivo php que muestra el perfil del usuario que ha iniciado sesion.

Y funciona perfectamente...

Por lo que mi problema tiene que estar union del login y la web entera... por lo que pregunto:

¿Existe alguna cosa que impida el iniciar sesion y que haya escrito sin darme cuenta?
  #8 (permalink)  
Antiguo 18/04/2008, 09:11
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Error extraño con sesiones

Te entiendo perfectamente, me refiero al código que tienes en aplicacion.php pues supongo que si estas inicializando variables de sesion es porque en la página a la cual redireccionas haces una comprobación de variables, porque no posteas el código de aplicacon.php

Revisa que no estes sobreescribiendo en alguna parte de tu código las variables que utilizas


PD: No me habia fijado en el post anterior


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:01.