Foros del Web » Programando para Internet » PHP »

Sesiones/usuarios

Estas en el tema de Sesiones/usuarios en el foro de PHP en Foros del Web. Hola que tal amigos estoy trabajando con usuarios y sesiones y tengo el siguiente problema que no he podido solucionar. tengo un usuario "admin" y ...
  #1 (permalink)  
Antiguo 29/06/2011, 00:55
Avatar de totti026  
Fecha de Ingreso: junio-2011
Mensajes: 150
Antigüedad: 13 años, 5 meses
Puntos: 4
Pregunta Sesiones/usuarios

Hola que tal amigos estoy trabajando con usuarios y sesiones y tengo el siguiente problema que no he podido solucionar.

tengo un usuario "admin" y otro "isaac"

cuando entro como admin me manda a cierta pagina que solo puede ver él.

pero cuando entro como isaac y en la barra de direcciones pongo al final la pagina del admin si me la muestra!! como puedo restringir eso.

este el el codigo de la sesion:

Código PHP:
Ver original
  1. <?php
  2. //reaunudar la sesion
  3.  
  4. if(isset($_SESSION['name']))
  5. {
  6. $n=$_SESSION['name'];
  7. echo "<div align='right'>Sesion: $n<br>";
  8. echo "<div align='right'>BIENVENIDO<br>";
  9.  
  10. }
  11. else
  12. {
  13. die("Error!: No haz iniciado ninguna Sesion!");
  14. }
  15. print"<div align='right'><a href='sesionterminada.php'>Cerrar Sesion</div></a><br>";
  16.  
  17. ?>

Alguna idea masters?
Saluos y gracias.
  #2 (permalink)  
Antiguo 29/06/2011, 01:42
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 10 meses
Puntos: 606
En ese codigo SOLO compruebas si esta logado pero te faltan comprobar los persmisos. Si una pagina solo la puede ver admin te faltaria un if comparando $n con "admin" y si es false un mensaje tipo "no tienes permisos para ver esta pagina".
  #3 (permalink)  
Antiguo 29/06/2011, 01:51
Avatar de ArmasXxX  
Fecha de Ingreso: marzo-2011
Ubicación: San Pedro Sula
Mensajes: 27
Antigüedad: 13 años, 8 meses
Puntos: 2
Respuesta: Sesiones/usuarios

Hola we mira yo te podria dar una idea pero no se si te ayude.

Código PHP:
Ver original
  1. <?php
  2. $session_start();
  3.  
  4. if(isset($_SESSSION['name']))
  5.  {
  6.  
  7.  if($_SESSION['name']==Admin)
  8.      {
  9.        echo 'Aqui muestras los derechos que tiene el Admin o cualquier cosa';
  10.       }else{
  11.        echo 'Aqui muestras lo que quieres que vean los demas usuarios';
  12.       }
  13.  
  14.  }else{
  15.  
  16.  echo 'Usted no ha iniciado Sesión. por favor indentifiquese.';
  17.  
  18.  }
  19.  
  20. ?>

Dame una idea y te doy un ejemplo :D
  #4 (permalink)  
Antiguo 29/06/2011, 02:04
Avatar de fbedia88  
Fecha de Ingreso: enero-2011
Ubicación: Santander
Mensajes: 83
Antigüedad: 13 años, 10 meses
Puntos: 20
Respuesta: Sesiones/usuarios

El codigo de ArmasXxX esta muy bien, seguro te servira...

Le e echo una pequeña modificación por si quieres, para no sobrecargar la pagina con el codigo de 2 tipos de sesiones, simplemente pones dos include() los cuales contendran la pagina a mostrar a cada tipo de usuario (admin o user)

Código PHP:
<?php
$session_start
();

if(isset(
$_SESSSION['name']))
 {

 if(
$_SESSION['name']==Admin)
     {
       include(
'pagina_admin.php');
      }else{
       include(
'pagina_usuario.php');
      }

 }else{

 echo 
'Usted no ha iniciado Sesión. por favor indentifiquese.';

 }

?>
Si lo haces de esta forma, protege los ficheros igual que el index, te valdria simplemente para el del admin:
Código PHP:
if($_SESSION['name']==Admin)
     {
      } 
y lo mismo para el usuario...

Saludos
  #5 (permalink)  
Antiguo 29/06/2011, 06:12
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años, 7 meses
Puntos: 27
Respuesta: Sesiones/usuarios

O asi:


Código PHP:
Ver original
  1. //Recibes el usuario y clave que hayan digitado al ingresar
  2. $usuario=$_POST['usuario'];
  3. $clave=$_POST['clave'];
  4.  
  5. if (login_in($usuario, $clave)==1)
  6. {
  7.    
  8.     if ($usuario=="admin"){
  9.         $_SESSION['valid_user'] = $usuario;
  10.        
  11.         header("Location: administracion.php");
  12.     }
  13.     if ($usuario!="admin")
  14.     {
  15.         $_SESSION['name'] = $usuario;
  16.         header("Location: otrapagina.php?=$usuario");
  17.  
  18.     }
  19. }
  20. else
  21. {
  22. echo "No existe logueo";
  23. }

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:06.