Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] restringir acceso a una pagina

Estas en el tema de restringir acceso a una pagina en el foro de PHP en Foros del Web. hola me podrian apoyar ya que tengo un sistema de login y quisiera restringir algunas paginas a los usuarios y que solo el administrador pueda ...
  #1 (permalink)  
Antiguo 05/08/2013, 17:20
 
Fecha de Ingreso: mayo-2013
Mensajes: 6
Antigüedad: 10 años, 10 meses
Puntos: 0
restringir acceso a una pagina

hola me podrian apoyar ya que tengo un sistema de login y quisiera restringir algunas paginas a los usuarios y que solo el administrador pueda acceder a ellas el codigo de login que tengo es el siguiente:

Código PHP:
<?php
session_start
();
include(
'config.php');
 
function 
verificar_login($user,$password,&$result) {
    
$sql "SELECT * FROM usuarios WHERE usuario = '$user' and password = '$password'";
    
$rec mysql_query($sql);
    
$count 0;
 
    while(
$row mysql_fetch_object($rec))
    {
        
$count++;
        
$result $row;
    }
 
    if(
$count == 1)
    {
        return 
1;
    }
 
    else
    {
        return 
0;
    }
}
 
if(!isset(
$_SESSION['userid']))
{
    if(isset(
$_POST['login']))
    {
        if(
verificar_login($_POST['user'],$_POST['password'],$result) == 1)
        {
            
$_SESSION['userid'] = $result->idusuario;
            
header("location:login.php");
            
        }
        else
        {
?>
            <script>alert("Usuario o Contraseña incorrecta");
        window.location.href="login.php";
         </script>;
       <? }
    }
?>
en la base de datos tengo el campo de idusuario y usuario
el idusuario 1 le corresponde al administrador y el 2 al usuario
  #2 (permalink)  
Antiguo 05/08/2013, 17:25
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 10 meses
Puntos: 56
Respuesta: restringir acceso a una pagina

Pues si ya inicializaste la sesion y te logueaste correctamente solo tendrías que poner en la pagina que quieres restringir una condicion para verificar si la variable de sesion esta definida.
Código PHP:
Ver original
  1. <?php
  2. if (isset($_SESSION['variable']))
  3. {
  4. ?>
  5. //HTML
  6. <?php
  7. }
  8. else
  9.   echo " Ud. no tiene autorización para acceder a esta página...";
  10. ?>
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #3 (permalink)  
Antiguo 05/08/2013, 17:32
 
Fecha de Ingreso: mayo-2013
Mensajes: 6
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: restringir acceso a una pagina

ya lo tengo asi solo que me permite el acceso al usuario y a el administrador y yo quiero que solo el administrador tenga acceso a esa pagina.
  #4 (permalink)  
Antiguo 05/08/2013, 17:35
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 10 meses
Puntos: 56
Respuesta: restringir acceso a una pagina

Pues simple envias a verificar un dato que identifique al administrador como tal y de no ser asi que salga un mensaje o haces una redireccion.
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #5 (permalink)  
Antiguo 05/08/2013, 17:41
 
Fecha de Ingreso: mayo-2013
Mensajes: 6
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: restringir acceso a una pagina

lo tengo de la siguiente manera
Código PHP:
if(isset($_SESSION['userid']))
{
contenido
.
.
.
}
else
{
acceso permitido solo al administrador

y al administrador lo identifico en la base de datos con el id 1
  #6 (permalink)  
Antiguo 05/08/2013, 17:41
Avatar de richicasas  
Fecha de Ingreso: abril-2007
Ubicación: Colombia
Mensajes: 692
Antigüedad: 17 años
Puntos: 13
Exclamación Respuesta: restringir acceso a una pagina

En la tabla de la BD, debes agregar un campo para identificar que tipo de usuario es: Usuario, Administrador, y cuando el usuario se intente loguear obtienes dicho dato y comparas para saber que tipo de usuario se esta logueando y restringir el acceso.
__________________
Juguetes Sexuales
  #7 (permalink)  
Antiguo 05/08/2013, 17:44
Avatar de richicasas  
Fecha de Ingreso: abril-2007
Ubicación: Colombia
Mensajes: 692
Antigüedad: 17 años
Puntos: 13
Exclamación Respuesta: restringir acceso a una pagina

Pues, puedes agregar el otro campo como dije anteriormente o comparar asi:
Código PHP:
if(isset($_SESSION['userid'])&&($_SESSION['userid']==1)){
//ERES ADMINISTRADOR
}else{
//NO ERES ADMINISTRADOR

__________________
Juguetes Sexuales
  #8 (permalink)  
Antiguo 05/08/2013, 17:47
 
Fecha de Ingreso: mayo-2013
Mensajes: 6
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: restringir acceso a una pagina

Cita:
Iniciado por richicasas Ver Mensaje
En la tabla de la BD, debes agregar un campo para identificar que tipo de usuario es: Usuario, Administrador, y cuando el usuario se intente loguear obtienes dicho dato y comparas para saber que tipo de usuario se esta logueando y restringir el acceso.
en la tabla tengo un campo llamado Tusuario para definir el tipo de usuario,
me podrias dar un ejemplo de como comparar el tipo de usuario en php
  #9 (permalink)  
Antiguo 05/08/2013, 17:51
Avatar de richicasas  
Fecha de Ingreso: abril-2007
Ubicación: Colombia
Mensajes: 692
Antigüedad: 17 años
Puntos: 13
Exclamación Respuesta: restringir acceso a una pagina

Exiten mil formas según la forma de programar, un ejemplo basico seria:
Código PHP:

if(isset($_SESSION['tipousuario'])&&($_SESSION['tipousuario']=="Administrador")){ 
//ERES ADMINISTRADOR 
}else{ 
//NO ERES ADMINISTRADOR 

Previamente cuando consultas los datos del usuario debes guarda el tipo en las variables de sesión. Personalmente, hago la comparación por el nombre, pues si lo hiciera por el id y en la tabla de tipos llega a cambiar de ID el Administrador perderias el enlace.
__________________
Juguetes Sexuales
  #10 (permalink)  
Antiguo 05/08/2013, 17:57
 
Fecha de Ingreso: mayo-2013
Mensajes: 6
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: restringir acceso a una pagina

Cita:
Iniciado por richicasas Ver Mensaje
Exiten mil formas según la forma de programar, un ejemplo basico seria:
Código PHP:

if(isset($_SESSION['tipousuario'])&&($_SESSION['tipousuario']=="Administrador")){ 
//ERES ADMINISTRADOR 
}else{ 
//NO ERES ADMINISTRADOR 

Previamente cuando consultas los datos del usuario debes guarda el tipo en las variables de sesión. Personalmente, hago la comparación por el nombre, pues si lo hiciera por el id y en la tabla de tipos llega a cambiar de ID el Administrador perderias el enlace.
muchas gracias si funciono

Etiquetas: login
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 05:41.