Ver Mensaje Individual
  #8 (permalink)  
Antiguo 13/04/2012, 10:12
dragonfire256
 
Fecha de Ingreso: septiembre-2011
Ubicación: Caracas
Mensajes: 240
Antigüedad: 12 años, 7 meses
Puntos: 9
Respuesta: Restringir el acceso a usuarios

Cita:
Iniciado por a_gomez Ver Mensaje
lo puedes hacer de la siguiente manera ...

primero tienes que tener uan base de datos minimo con los campos de ususario, contraseña y un campo grupos ..

yo utulizaria estos campos como minimo ..

Código SQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `usuarios` (
  2.   `id` VARCHAR(10) NOT NULL DEFAULT '',
  3.   `login` VARCHAR(15) NOT NULL DEFAULT '',
  4.   `nombre` VARCHAR(15) NOT NULL DEFAULT '',
  5.   `contraseña` VARCHAR(15) NOT NULL DEFAULT '',
  6.   `grupo` VARCHAR(15) NOT NULL DEFAULT '',  
  7. PRIMARY KEY (`id`)
  8. )

haora en tu pagina de login debes tener esta estrucutura..

Código PHP:
Ver original
  1. <html>
  2. <head></head>
  3. <body>
  4.     <form action="controladora.php" method="post" class="log">
  5.     <h3 align="center"> POR FAVOR DIGITE SU USUARIO Y CONTRASEÑA </h3>
  6.     <br><br>
  7.         <table align="center" width="30%">
  8.             <tr align="right">
  9.                 <td>
  10.                     <b>USUARIO:</b>
  11.                 </td>
  12.                 <td  width="15%">
  13.                     <input type="text" name="usuario"  SIZE="20%" >
  14.                 </td>
  15.             </tr>
  16.             <tr align="right">
  17.                 <td>
  18.                     <b>CONTRASEÑA:</b>
  19.                 </td>
  20.                 <td  width="15%">
  21.                     <input type="password" name="pass"  SIZE="21%">
  22.                 </td>
  23.             </tr>
  24.             <tr align="center">
  25.                 <td colspan="2">
  26.                     <?php
  27.                         if (isset($_GET["error"]) && $_GET["error"] == "true"){?>
  28.                             Usuario y contraseña erroneos.
  29.                             <?php
  30.                             }
  31.                             ?>
  32.                 </td>
  33.             </tr>
  34.             <tr>
  35.                 <td colspan="2" align="center"><br><br><br>
  36.                     <input type="submit" name="enviar" value="ENTRAR">
  37.                 </td>
  38.             </tr>
  39.         </table>
  40.     </form>
  41. <body>
  42. </html>

ok si te fijas el form envia los datos a una pagina de control ... que es esta

Código PHP:
Ver original
  1. <?php
  2.     require("conexion.php");
  3.  
  4.     if(isset($_POST["usuario"])){
  5.         $usuario=$_POST["usuario"];
  6.     }
  7.     if(isset($_POST["pass"])){
  8.         $clave=$_POST["pass"];
  9.     }
  10.     $consulta="SELECT * FROM usuarios WHERE login = '$usuario' AND contraseña= '$clave'";
  11.     $datos=mysql_query($consulta,$link) or die (mysql_error());
  12.    
  13.     $cantidad=mysql_num_rows($datos);
  14.     if($cantidad <= 0){
  15.         header("location:index.php?error=true");
  16.     }else{
  17.        
  18.         session_start();
  19.         $fila=mysql_fetch_array($datos);
  20.         $_SESSION["id"]=$fila["id"];
  21.        
  22.  
  23.         // Aqui tendras que poner tantos if como grupos tengas ....
  24.        
  25.                               if($fila["grupo"]== 'GRUPO1'){  
  26.        
  27.             header("location:grupo1/index.php");
  28.         }else{
  29.              if($fila["grupo"]== 'GRUPO2'){
  30.                                                  
  31.                                                       header("location:grupo2/index.php");
  32.                                                
  33.                                               }
  34.         }
  35.        
  36.     }
  37. ?>

Espereo que me entiandas y si necesitas ayuda solo comenta .....


Esta bastante claro tu ejemplo... Supongo que en el if($fila) cuando haces la comparacion, en mi caso lo sustituyo por el nombre del grupo, es decir, admin, manager, etc.... No me quedo muy claro el if que haces en el formulario, si no es mucha molestia, me lo podrias explicar mejor... Muchas gracias