Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/09/2008, 00:45
fiestero_dg
 
Fecha de Ingreso: agosto-2008
Mensajes: 26
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problemas con las Sesiones en PHP

si... mira os dejo aqui los codigo de ident.php, que recoge el formulario de loggin y define la sesion:

<?PHP
$pass = $_POST['password'];
$user = $_POST['user'];
require "conecta.php";
$sql = "Select * From Operario Where NumOperario = '$user'";
$rs = $bd->consultar($sql);
$fila = mysql_fetch_array($rs);
// Comparo la contraseña inroducida en el loggin con la contraseña encriptada de la BD.
if (md5(sha1($pass))==$fila['Contraseña']) {
session_start();
$sid = session_id();
// Recojo los datos de privilegios de la BD y la Guardo en una variable global.
$_SESSION["privi"] = $fila['Privilegios'];
// Guardo tambien el numero de operario que recojo de la BD.
$_SESSION["user"] = $fila['NumOperario'];
session_write_close();
// Direcciono a ciertos usuarios a sus paneles personales de trabajo y al resto los direcciono al principal.php.
switch($_SESSION["user"]){
case 51:
header("Location: stockplancha.php");
break;
case 1017;
header("Location: panelincidencia.php");
break;
default:
header("Location: principal.php");
break;
}
}
// Si la contraseña no es válida muestra el siguiente error.
else{
echo "Error al introducir los datos...<br>";
?><a href="index.php">Volver</a><?
}
?>

y "comprobar.php" que lo que hace es comprobar que la sesion este activa:

<?
session_start();
if(!isset($_SESSION["user"])) {
header("Location: principal.php?opc=ident&comprueba=no");
}
?>

Este script, por supuesto lo incluyo en la pagina que necesito que controle los privilegios con un require "comprobar.php".