Ver Mensaje Individual
  #18 (permalink)  
Antiguo 20/02/2004, 18:35
KillerBKS
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 9 meses
Puntos: 0
Hola:
Estoy teniendo un error extraño que no logro entender.
Luego de mucho leer y probar, logre crear mi script de autentificacion (Gracias Cluster por tu ayuda), el script funciona correctamente y hace lo que debe hacer, es decir, no permitir el acceso a zonas seguras si no se ha identificado el usuario.
Aca lo explico un poco:
Primero veo los datos ingresados en el formulario de ingreso y veo que el usuario exista.

Codifica.php
Código PHP:

<? include("conex.php");
$login=$_POST['login'];$password=$_POST['password'];
$consultar=mysql_query("select * from usuarios where rut_user='".$login."' and pass='".$password."'");
if (
mysql_num_rows($consultar)==1)
    { 
    
session_start();
    
$_SESSION['id']=session_id();
    
$_SESSION['login']=$login;
    
$_SESSION['password']=$password;
    
$_SESSION['autentificado']="si";
    
$_SESSION['tipo']=mysql_result($consultar,0,"tipo_user");
    
header("Location: ../index2.php");
}
else
  {
   
header("Location: ../ingresar.php?error=si");
   exit();
?>
ya tengo mi sesion creada y aca esta el archivo que genera php para guardar la sesion
Código PHP:
id|s:32:"e3ffcb83d80bb99545287d813198bf24";
login|s:5:"admin";password|s:5:"admin";
autentificado|s:2:"si";tipo|s:1:"1"
Ahora bien, a cada pagina segura le agrego
Código PHP:
include ("seguridad.php"); 
y aca esta el archivo
seguridad.php
Código PHP:
<?
session_start
();
if(
$_SESSION['autentificado']!="si")

    
header("Location: ingresar.php?error=si");
    exit();
}
?>
Hasta ahora todo funciona correctamente.
Resulta que cree un archivo menu.php en donde se despliegan diferentes opciones dependiendo el tipo de usuario. Cuando creo la sesion tambien guardo su tipo_user.
menu.php
Código PHP:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?

$tipo_user
$_SESSION['tipo'];
if(
$tipo_user=="")
    echo 
"esta vacio";
if (
$tipo_user=="1")
    echo 
"Es Adm";
if (
$tipo_user=="3")
    echo 
"Es soporte";
    
?>
<table width="15%" border="1">
  <tr>
    <td><a href="form_usuarios.php" target="principal">Ingresar Usuarios</a></td>
  </tr>
  <tr>
    <td>Opcion 2</td>
  </tr>
  <tr>
    <td>Opcion 3</td>
  </tr>
  <tr>
    <td><a href="salir.php">Salir</a></td>
  </tr>
</table>
</body>
</html>
pero resulta que no logro recuperar el valor que tiene la sesion en el campo "tipo". Lo he hecho traspasando el valor de $_SESSION['tipo'] a una variable $tipo_user pero tampoco muestra nada, siempre me dice que el campo esta vacio.
No se si habra que modificar algo en el php.ini.
Uso Register_globals en off, tengo el php como modulo de apache.
Ojala se entienda bien y me puedan ayudar.
Gracias
Salu2 !!!
__________________
AK.T.I.V.E.tm Live, Never DIE