Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/02/2009, 04:20
pique
 
Fecha de Ingreso: enero-2009
Mensajes: 7
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Restringir acceso a pagina con sesion

En primer lugar muchas, muchas gracias por las respuestas. Para no rizar mas el rizo os expongo el problema completo.

Es una "aplicacion" en la cual cada usuario accede a su pagina mediante una consulta a una BBDD mysql, esto ya esta funcionando, os paso el codigo:

Estructura
Pagina de loggin index.php (formaction= foroweb.php en honor a este foro

El foroweb.php que es la pagina que procesa el formulario tiene el siguiente codigo:

<?

$nombre_usuario= $_POST['nombre'];
$clave_usuario= $_POST['clave'];
//conecto con la base de datos
$conn = mysql_connect("localhost","****","****");
//selecciono la BBDD
mysql_select_db("agentes",$conn);

//Sentencia SQL para buscar un usuario con esos datos
$ssql = "SELECT * FROM usuario WHERE nombre_usuario='$nombre_usuario' and clave_usuario='$clave_usuario'";

//Ejecuto la sentencia
$rs = mysql_query($ssql,$conn);

//vemos si el usuario y contraseña es váildo
//si la ejecución de la sentencia SQL nos da algún resultado
//es que si que existe esa conbinación usuario/contraseña
if (mysql_num_rows($rs)!=0){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
session_register("autentificado");
//autentificado sería una variable de sesión
//en la instrucción que sigue lo que se está haciendo es cargar el identificador de sesión
//en la variable de sesión, para comprobar a posteriori en seguridad.php si puedo o no
//autorizar el paso al individuo que lo solicita
$autentificado=session_id();
//con la función: mysql_fetch_row lo que se pretende es cargar los valores de los campos de
//una determinada fila, a los cuales se puede acceder luego como si de una matriz se tratara
$row = mysql_fetch_row($rs);
//el campo que he insertado en la tabla es el último de un total de 11, de ahí que acceda
//a la posición 10, ya que empezamos a contar de 0
header ("Location: $row[2]");
}else{
//si no existe le mando otra vez a la portada
header("Location: index.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
?>

Todo esto funciona perfectamente, ahora y es ya el ultimo paso necesito restringir el acceso directo mediante la barra de direcciones a las paginas de usuarios no autorizados.

Una vez mas gracias por vuestro tiempo y paciencia.