Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/07/2004, 14:23
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Vamos por partes:

1) despues de esos header("location ..") usa un exit;

2) NOOOOOOOOOOOOO uses session_register() para trabajar con sesiones .. usa los arrays superglobales $_SESSION (si usas PHP 4.1.0 en adelante ..)

3) usa comillas en las llamadas a indices de tus arrays que sean alfanuméricos:
$power_a= $myrow['admin_poder'];

4) .. No tiene sentido registrar en una sesión: session_register('pass'); (tu contraseña) cuando tan sólo tieens que validar la existencia de tu "user" minimo o cualquier otra variable que guardes en tu sesión .. NO se trata de comprobar otra vez contra tu BD (consulta) los mismos datos que van en la sesión.. no es esa la filosofía de uso de las sesiones.

5) .. Tienes dos if() y un sólo else .. No cierras el

if ($myrow["admin_user"] <> ""){
session_start();
session_register('power_a');
session_register('pass');
session_register('user');
}

Pero .. tampoco haces nada si se cumple esa condición .. Se supone que ahí tendrías que redireccionar hacia la página que puedes entrar una vez validado tu usuario/contraseña y nivel de acceso .. (a no ser que el código lo pongas a continuación ..). Para que las variable de sesión queden disponibles .. debes "redireccionar" a otra página o recargar la misma. Por ende .. lo más sano ahí es que redirecciones a la página que puede entrar tu usuario validado y sin olvidarte de verificar la existencia de esas variables de sesión .. por qué eso será lo que indique que está entrando tu usuario por la "puerta" (pasó por tu login) y no por "detras" (acceso directo por el URL a esa tal página)....

Un saludo,