Inicio > PHP > SESIONES EN PHP – Ejemplo

SESIONES EN PHP – Ejemplo

Realmente cuando se esta montando un sitio con código PHP surge la pregunta y como manejo las sesiones de usuario, pues bien yo lo realicé partiendo del hecho que tengo diferentes tipos de usuarios y cada uno debe accedes a sesiones diferentes para ello generé el siguiente código:

html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 
<title>NOMBRE DE TU SITIO</title> 
</head> 
<?php 
 @session_start(); /*variable de sesion persistente*/
 /* Invocamos string de conexión, en este caso cree un contenedor de funciones esta creado el string
    de conexión definido en la función  connect() */ 
    include("funciones.php");
    $Con=connect();
 /* Se generan las variables de ingreso de usuario y clave */ 

 $usuario=strval($_REQUEST["usuario"]);/* strval se utiliza para definir que todo campo es de tipo string*/ 
 $clave=strval($_REQUEST["clave"]);
 $estado="Activo";  /* Este es el parámetro que debe cumplir el usuario para acceder al sitio*/   

 /* Evaluación de campos vacíos */ 

 if(($_POST['usuario']=="") || ($_POST['clave']==""))
 {
   echo "";
   echo "";
   die();
 }
 else
 {
   /* Pasamos las variables a string */ 

   $TipoUsuario=strval($_POST['TipoUsuario']);
   $Vacio=strval($_POST['Vacio']);
   $Alumno=strval($_POST['Alumno']);
   $Administrativo=strval($_POST['Administrativo']);
   $Academico=strval($_POST['Academico']);
   $Acudiente=strval($_POST['Acudiente']); 

   /*  Verificamos cada selección validando el tipo de usuario con el switch */ 
   switch($TipoUsuario)
   {
      /*  Indicamos al usuario que no ha seleccionado ninguna opción */        
     case "Vacio":
       echo "";
       echo "";
       break;
     case "Alumno":            
       $VerAlumno=mysql_query("SELECT NombresAlumno, ApellidosAlumno
                               FROM academi_alumno
                               WHERE UsuarioAlumno='$usuario' AND ClaveAlumno='$clave' and EstadoAlumno='$estado'",$Con); 

       if (mysql_num_rows($VerAlumno)!=0)
       {
          //usuario y contraseña válidos
          //defino una sesion y guardo datos
          while ($fila=mysql_fetch_array($VerAlumno))
          {
             $_SESSION["Nombres"]=strval($fila['NombresAlumno']);
             $_SESSION["Apellidos"]=strval($fila['ApellidosAlumno']);
            echo "";
            echo "";  
      }
      mysql_free_result($VerAlumno);     

 }
 else  
 {
 //si no existe le mando otra vez a la portada
 echo "";
 echo "";
 session_destroy();
 } 

 break;
 case "Administrativo":        
 $Administrativo=mysql_query("SELECT Nombresadministrativo, Apellidosadministrativo
                              FROM academi_administrativo
                              WHERE Usuario='$usuario' AND Clave='$clave' and Estado='$estado' AND Tipo='Administrativo'",$Con);    
 $webmaster=mysql_query("SELECT Nombresadministrativo, Apellidosadministrativo FROM academi_administrativo
                         WHERE Usuario='$usuario' AND Clave='$clave' and Estado='$estado' AND Tipo='webmaster'",$Con); 

 if (mysql_num_rows($Administrativo)!=0)
 {
 //usuario y contraseña válidos
 //defino una sesion y guardo datos
 while ($fila=mysql_fetch_array($Administrativo))
 {
 $_SESSION["Nombres"]=strval($fila['Nombresadministrativo']);
 $_SESSION["Apellidos"]=strval($fila['Apellidosadministrativo']);
 echo "";
 echo "";  
 }
 mysql_free_result($Administrativo);     

 }
 else if (mysql_num_rows($webmaster)!=0)
 {
 //usuario y contraseña válidos
 //defino una sesion y guardo datos
 while ($fila=mysql_fetch_array($webmaster))
 {
 $_SESSION["Nombres"]=strval($fila['Nombresadministrativo']);
 $_SESSION["Apellidos"]=strval($fila['Apellidosadministrativo']);
 echo "";
 echo "";  
 }
 mysql_free_result($webmaster);     

 }
 else  
 {
 //si no existe le mando otra vez a la portada
 echo "";
 echo "";
 session_destroy();
 } 

 break;
 case "Academico": 

 $Academico=mysql_query("SELECT Nombresdocente, Apellidosdocente
                         FROM academi_docente
                         WHERE Usuariodocente='$usuario' AND Clavedocente='$clave' and Estadodocente='$estado'",$Con); 

 if (mysql_num_rows($Academico)!=0)
 {
 //usuario y contraseña válidos
 //defino una sesion y guardo datos
 while ($fila=mysql_fetch_array($Academico))
 {
 $_SESSION["Nombres"]=strval($fila['Nombresdocente']);
 $_SESSION["Apellidos"]=strval($fila['Apellidosdocente']);
 echo "";
 echo "";  
 }
 mysql_free_result($Academico);     

 }
 else  
 {
 //si no existe le mando otra vez a la portada
 echo "";
 echo "";
 session_destroy();
 } 

 break;
 case "Acudiente": 

 $VerAcudiente=mysql_query("SELECT Nombresacudiente, Apellidosacudiente FROM academi_acudiente
                            WHERE Usuarioacudiente='$usuario' AND Claveacudiente='$clave' and EstadoAcudiente='$estado' and Acudiente='SI'",$Con); 

 if (mysql_num_rows($VerAcudiente)!=0)  
 {
 //usuario y contraseña válidos
 //defino una sesion y guardo datos
 while ($fila=mysql_fetch_array($VerAcudiente))  
 {
 $_SESSION["Nombres"]=strval($fila['Nombresacudiente']);
 $_SESSION["Apellidos"]=strval($fila['Apellidosacudiente']);
 echo "";
 echo "";  
 }
 mysql_free_result($VerAcudiente);     

 }
 else  
 {
 //si no existe le mando otra vez a la portada
 echo "";
 echo "";
 session_destroy();
 } 

 break;
 default:
 echo "No ha seleccionado el tipo de usuario";
 }
 }
?> 
bgcolor="#000000">
Y a cada página debe anexarle al inicio
@session_start();
 include('../../Cod/M/Bloqueo.php'); //Función de bloqueo que he definido
 include('../../Cod/M/funciones.php'); //Pack de funciones

 $nombre=$_SESSION["Nombres"]; //Variables identificadoras de nombres  y apellido del usuario
 $apellido=$_SESSION["Apellidos"];

Espero gute....
Categorías:PHP Etiquetas:
  1. 1 mayo 2014 a las 18:23

    (Y) buen aporte .. me podrías mandar lo que haz hecho … mi correo es andy_11092@hotmail.com

  1. No trackbacks yet.

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: