Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/05/2007, 12:11
Avatar de kennyhp
kennyhp
 
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 17 años, 9 meses
Puntos: 5
Problema con sesiones

Hola, mi problema es que pierdo las sesiones. Si, hay otro post aquí al lado, pero no me soluciona nada ;)

Os comento como lo tengo montado.

Tengo la página principal index.php en la que le metos dos includes, el login.php y el módulo que cargo (noticias, articulos, etc...)

index.php

Código PHP:
session_start(); 
require (
"./includes/conexion.php");
conecta(); 
blablabla... chicha de la web
Código PHP:
//cargo el modulo
if(isset($_GET['mod'])){ $modulo=$_GET['mod']; }else{$modulo='portada';}
include 'modulos/'.$modulo.'.php';
//cargo el logeo
<?php include("modulos/login.php"); ?>
en login.php tengo el formulario para loguearse:

Código PHP:
include ("./includes/funciones.php");
if (!isset(
$_SESSION['usuario'])) {
... 
// si no esta logeado carga el formulario para logearse, si lo esta te dice hola.
//no pongo session_start() por que ya lo hago en el index y esto esta en un include, si lo pongo me da error. 
para validar voy a sesiones.php

Código PHP:
if(!empty($_POST['user']) && !empty($_POST['password'])){

    
$usuario=$_POST['user'];
    
$password=$_POST['password'];
    
    
$consultamysql_query("SELECT id_usuario, nick, password FROM usuarios WHERE nick='$usuario' AND password='$password'");
    
    if(
mysql_num_rows($consulta)>0)
    {
        
$fila=mysql_fetch_assoc($consulta);
        
$_SESSION['usuario']=$fila['nick'];
        
$_SESSION['id']=$fila['id_usuario'];
        
header ("Location: ./../index.php"); 
    }
    else 
    {
        echo 
"El usuario introducido no existe o la contraseña no es correcta, por favor comprueba los datos.";
    }
}else echo 
"Has de introducir un usuario y una contraseña.";


ob_end_flush(); 
La cuestión es que funciona, pero cuando recargo index, por ejemplo para cargar otro modulo, osea, hago index.php?mod=noticias pues como el logeo.php esta metido en un include dentro del index tb lo vueve a cargar, pero como el usuario ya esta dado de alta y con la sesion activa deveria salir el mensaje Hola Usuario, pero lo que sale es otra vez el formulario para logearse, por lo que deduzco que por algún motivo no me esta guardando la sesion. Espero haberme explicado
¿por que puede ser?

Un saludo!