Ver Mensaje Individual
  #5 (permalink)  
Antiguo 15/03/2013, 07:23
rodrigo193
 
Fecha de Ingreso: marzo-2013
Mensajes: 16
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Sesiones autenticando Aministrador y usuarios Normales

prueba con esto

logear.php
Código PHP:
Ver original
  1. <?php
  2. //inicio la sesion para tener acceso a la creacion de las variables de sesion
  3. //recibo el nombre y la contraseña ingresados por el usuario en el formulario de logeo
  4. $usuario = $_POST["usuario"];
  5. $clave = trim($_POST["clave"]);
  6.  
  7. // importo la clase conexion
  8. require_once "mySQLData.php";
  9. //inicializo la clase para acceder a sus atributos atravez del objeto "base"
  10. $base = new mySQLData();
  11. //ejecuto la consulta buscando el nombre y la contraseña ingresados por el usuario
  12. $result = $base->consulta("SELECT * FROM acceso WHERE usuario='$usuario' AND clave='$clave'");
  13. //almaceno en "arreglo" en los resultados
  14. $arreglo = mysql_fetch_assoc($result);
  15. //si los resultados son igual a 1 (solo puede haber un usuario con el mismo usuario y contraseña)
  16. if(mysql_num_rows($result) == 1){
  17.     //creo las variables de sesion tipo y usuario con los valores obtenidos en la consulta sql
  18.     $_SESSION["tipo"] = $arreglo['tipo_acceso'];
  19.    $_SESSION["usuario"] = $arreglo['usuario'];
  20.    
  21.     /*me redirecciono al index nuevamente pero en esta ocasion ya se ha creado la sesion
  22.     por lo que se autenticara con el scrip del index y mostrara la pantalla de bienvenida al usuario
  23.     */
  24.     header("location:index.php");
  25. }
  26. else{
  27.     ?>
  28.     <!--Una alerta para indicar al usuario que ha cometido un error de logeo
  29.    
  30.     -->
  31.     <script language="javascript" type="text/javascript">
  32.         document.location.href="index.php";
  33.         alert('Sus Datos son Incorrectos. Intente nuevamente');
  34.     </script>
  35.     <?php
  36. }
  37. ?>

y un index
Código PHP:
Ver original
  1. <?php
  2.         //comprueba si no se ha creado la sesion    
  3.         if(!isset($_SESSION)){
  4.             //inicia la sesion
  5.             session_start();
  6.             //si la variable de sesion "usuario" no se ha creado o esta null
  7.             if(empty($_SESSION['usuario'])){
  8.                 ?>
  9.                 <!--Muestra el ambiente de bienvenida y notifica que no ha iniciado sesion-->
  10.                
  11.                 <h2>No se ha iniciado sesion</h2>
  12.                 <!--Incluye por medio de Ajax(jQuery con la funcion load) el formulario de inicio de sesion
  13.                 dentro del section con id contenido.-->
  14.                
  15.                 <script type="text/javascript">
  16.                 $(document).ready(function(){
  17.                        $("#contenido").load("frmLogueo.php");        
  18.                 });                  
  19.                 </script>        
  20.                 <?php
  21.             //en caso que la variable de sesion "usuario" tenga un valor
  22.             //significa que ya se ha creado una sesion    
  23.             }else{
  24.                 //Muestra la bienvenida personalizada al usuario logeado con su nombre
  25.                 echo "<h1>Bienvenido usuario: ". $_SESSION['usuario']." </h1>";  
  26.                
  27.                 //este es un vinculo para poder regresar al inicio del sitio
  28.                 echo "<a href='index.php'>Inicio</a>";
  29.                 //si el usuario esta logeado se debe verificar cual el su rol o nivel de acceso(ADMIN, usuario normal)
  30.                 //para poder gestionar sus derechos de acceso.
  31.                 //si el rol del usuario logeado es cliente.
  32.                 if($_SESSION['tipo']=='otro usuario2'){
  33.                 ?>
  34.                 <!--Llamamos a las funcionalidades y la pantalla de bienvenida (home) de las Mesas tecnologicas-->
  35.                 <!--Incluye por medio de Ajax(jQuery con la funcion load) la pantalla con las funciones del CLIENTE
  36.                 dentro del section con id contenido.-->    
  37.                     <script type="text/javascript">
  38.                         $(document).ready(function(){
  39.                         $("#contenido").load("homeCliente.php");
  40.                         });
  41.                     </script>
  42.                 <?php
  43.                 }else{
  44.     if($_SESSION['tipo']=='cliente'){
  45.                 ?>
  46.                 <!--Llamamos a las funcionalidades y la pantalla de bienvenida (home) de las Mesas tecnologicas-->
  47.                 <!--Incluye por medio de Ajax(jQuery con la funcion load) la pantalla con las funciones del CLIENTE
  48.  
  49.                 dentro del section con id contenido.-->    
  50.                     <script type="text/javascript">
  51.                         $(document).ready(function(){
  52.                         $("#contenido").load("home.php");
  53.                         });
  54.                     </script>
  55.                 <?php
  56.                 }else{
  57.  if($_SESSION['tipo']=='otro usuario'){
  58.                 ?>
  59.                 <!--Llamamos a las funcionalidades y la pantalla de bienvenida (home) de las Mesas tecnologicas-->
  60.                 <!--Incluye por medio de Ajax(jQuery con la funcion load) la pantalla con las funciones del CLIENTE
  61.  
  62.                 dentro del section con id contenido.-->    
  63.                     <script type="text/javascript">
  64.                         $(document).ready(function(){
  65.                         $("#contenido").load("hometele.php");
  66.                         });
  67.                     </script>
  68.                 <?php
  69.                 }else{
  70.                    ?>
  71.                    
  72.                     <!--Llamamos a las funcionalidades y la pantalla de bienvenida (home) del administrador-->
  73.                     <!--Incluye por medio de Ajax(jQuery con la funcion load) la pantalla con las funciones del ADMINISTRADOR
  74.                 dentro del section con id contenido.-->  
  75.                  
  76.                     <script type="text/javascript">
  77.                         $(document).ready(function(){
  78.                         $("#contenido").load("homeAdmin.php");
  79.                         });
  80.                     </script>
  81.                     <?php
  82.                 }        
  83.             }
  84.         }
  85. }
  86.         }
  87.     ?>

si te fijas en un codigo en ajax los formularios los trae $("#contenido").load("home.php"); por ejemplo dependiendo del usuario q ingresa trae el sitio correspondiente


en la bd debes tener un tipo_acceso para que te tome esto
$_SESSION["tipo"] = $arreglo['tipo_acceso']; o lo cambias dependiendo de eso veras si es usuario normal, admin o lo de mas que quieras agregar