MI problema es el siguiente. No he cambiado absolutamente ningun trozo de de codigo de mi web, pero sin saber porque, la sesion o mejor dicho las variables de sesion no se guardan entre paginas.
Estoy desesperado la verdad.
Todo empieza con el archivo de login, que comprueba con la base de datos el usuario y la contraseña y en el caso de que sea correcto entonces crea cuatro variables de sesion, con los datos de ese usuario y redirige a profesionales.php. En profesionales compruebo la existencia de la variable de sesion usuario y si existe imprimo el codigo html y sino redirijo de nuevo a login.php.
Os pongo los codigos.
Login.php
profesionales.php
Estoy desesperado la verdad.
Todo empieza con el archivo de login, que comprueba con la base de datos el usuario y la contraseña y en el caso de que sea correcto entonces crea cuatro variables de sesion, con los datos de ese usuario y redirige a profesionales.php. En profesionales compruebo la existencia de la variable de sesion usuario y si existe imprimo el codigo html y sino redirijo de nuevo a login.php.
Os pongo los codigos.
Login.php
Código (php) [Seleccionar]
<?php
session_start();
if(isset($_SESSION['user'])){
header("Location: profesionales.php");
}
if($_POST){
extract($_POST);
include_once("includes/class.sql.php");
include_once("includes/config.inc.php");
include_once("includes/funciones.php");
$user=limpiar($user);
$password=sha1($pass);
$sql=new sql($ip, $usuario, $pass, $db);
$respuesta=$sql->consultar("select * from usuarios where usuario='$user';");
if(!empty($respuesta)){
if($user==$respuesta[0]['usuario'] && $password==$respuesta[0]['password']){
$_SESSION['id']=$respuesta[0]['id'];
$_SESSION['user']=$user;
$_SESSION['pass']=$password;
$_SESSION['auth_level']=$respuesta[0]['lvl_auth'];
// Si aqui imprimo las variables de session recien creadas se muestran correctamente.
echo "<script>location.href='profesionales.php'</script>";
}else{
echo "<script>alert('El usuario introducido o la contrase\u00f1a no son correctos');</script>";
echo "<script>location.href='index.php?p=login'</script>";
}
}else{
echo "<script>alert('El usuario introducido o la contrase\u00f1a no son correctos');</script>";
echo "<script>location.href='index.php?p=login'</script>";
}
}else{
?>
<br />
<div id="acceso">
<form method="post" action="login.php">
Usuario<br />
<input type="text" name="user" /><br />
Password<br />
<input type="password" name="pass" /><br /><br />
<p align="center"><input type="submit" value="Entrar" class="button"></p>
</form>
</div>
<?php
}
?>
profesionales.php
Código (php) [Seleccionar]
<?php
session_start(); //En la primera linea declaro el session_start()
include_once("includes/config.inc.php");
include_once("includes/class.sql.php");
include_once("includes/funciones.php");
$sql=new sql($ip, $usuario, $pass, $db);
$respuesta=$sql->consultar("SELECT * FROM presupuestos_usuarios");
$sql->cerrar();
unset($sql);
if(!isset($_SESSION['user'])){
header("Location: login.php"); //Aqui al no detectar la sesion me redirige al login de nuevo.
}else{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es-es" lang="es-es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="content-language" content="es_ES" />
<meta charset="utf-8" /> <!-- Tipo de Codificación -->
<title>Reformas y presupuestos</title>
<style type="text/css">
@import "css/profesionales.css";
</style>
</head>
<body>
<script src="js/jquery-1.8.3.js" type="text/javascript"></script>
<script src="js/jquery.validate.js" type="text/javascript"></script>
<script src="js/jquery.imagecube.js" type="text/javascript"></script>
<script src="js/resizeLib.js" type="text/javascript" ></script>
<script src="js/ajax.js" type="text/javascript" ></script>
<script src="ckeditor/ckeditor.js" type="text/javascript" ></script>
<script type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
<script>
jQuery(document).ready(function(){
$(".filtro").bind('keypress', function(e) {
if(e.keyCode==13){
var n_parametros=0;
var filtro="";
if($("#comunidad").val() !=""){
n_parametros++;
if(n_parametros > 1){
filtro +="&"+$("#comunidad")[0].id+"="+$("#comunidad")[0].value;
}else{
filtro +=$("#comunidad")[0].id+"="+$("#comunidad")[0].value;
}
}
if($("#localidad").val() !=""){
n_parametros++;
if(n_parametros > 1){
filtro +="&"+$("#localidad")[0].id+"="+$("#localidad")[0].value;
}else{
filtro +=$("#localidad")[0].id+"="+$("#localidad")[0].value;
}
}
if($("#categoria").val() !=""){
n_parametros++;
if(n_parametros > 1){
filtro +="&"+$("#categoria")[0].id+"="+$("#categoria")[0].value;
}else{
filtro +=$("#categoria")[0].id+"="+$("#categoria")[0].value;
}
}
var respuesta = ajax("presupuestos_usuarios.php?"+filtro, "","GET");
$("#principal").html(respuesta);
}
});
var respuesta_inicial=ajax("presupuestos_usuarios.php","","GET");
$("#principal").html(respuesta_inicial);
});
function ver(id_pre){
var respuesta=ajax("ver_presupuesto.php?id="+id_pre,"","GET");
$("#cuerpo").html(respuesta);
}
function enviar(id_pre){
var respuesta=ajax("dar_presupuesto.php?","id="+id_pre,"POST");
$("#cuerpo").html(respuesta);
}
</script>
<div id="menu">
<div id="logo">
<a href="http://127.0.0.1/orocar/"><img src="images/logo.png" style="width: 100%; height: 100%" /></a>
</div>
<div id="menu-principal">
<ul>
<li type="disc" id="logout"><a href="index.php?p=logout">Cerrar Sesion</a></li>
<li type="disc" id="presupuestos"><a href="profesionales.php">Presupuestos de Usuarios</a></li>
<li type="disc" id="perfil"><a href="index.php?p=inicio">Inicio</a></li>
</ul>
</div>
<div class="limpiar"></div>
</div>
<div id="cabecera">
<div id="cabecera-content">
<h1 id="titulo_pagina">Presupuestos recibidos</h1>
</div>
</div>
<div id="cuerpo">
<h2>Presupuestos solicitados por los usuarios</h2><br />
<div style="width: 33.3%; float: left;">
<label>Comunidad Autonoma</label><br /><br />
<input type="text" style="width: 50%; height: 4%; font-size: 14px;" class="filtro" id="comunidad">
</div>
<div style="width: 33.3%; float: left; ">
<label>Categoria</label><br /><br />
<input type="text" style="width: 50%; height: 4%; font-size: 14px;" class="filtro" id="categoria">
</div>
<div style="width: 33.3%; float: left; ">
<label>Localidad</label><br /><br />
<input type="text" style="width: 50%; height: 4%; font-size: 14px;" class="filtro" id="localidad">
</div>
<div class="limpiar"></div>
<div id="principal">
</div>
</div>
<div id="pie">
</div>
</body>
</html>
<?php
}
?>