Ver Mensaje Individual
  #3 (permalink)  
Antiguo 07/11/2012, 15:28
mogurbon
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 10 meses
Puntos: 155
Respuesta: Referente a PHP OP

hace poco les cayo por aquí por donde chambeo una onda de modificar un poco una pagina , ya estabs bien malecha por que segun su deslogeada era nada mas un link a la pagina de inicio



tons lo correcto era manejo de sessiones y con classes se me hace mejor opción


Código PHP:
<?php
class sessiones{
    function 
__construct() {
       
session_start();
   }
   function 
valida(){
        global 
$conn;
        if (empty(
$_SESSION["id_usuario"])){
            
header("location: logout.php");
        }
        else{
            if(empty(
$_SESSION["arregloaccesousuario"])){
                
$sql ="select id_nivel from accesousuario where id_usuario='{$_SESSION["id_usuario"]}'";
                
$rs=mysql_query($sql);
                while (
$row mysql_fetch_array($rsMYSQL_ASSOC)) {
                    
$_SESSION["arregloaccesousuario"][]=$row["id_nivel"];
                }
            }
        }
        
   }
   function 
cerrarsession(){
        
session_unset();
        
session_destroy();
   }
   function 
revisaaccesousuario($acceso){#se puede mandar como arreglo o con un solo valor
        
$tieneacceso=0;
        if (
is_array($acceso)){
            foreach(
$acceso as $accesos){
                if (
in_array($accesos,$_SESSION["arregloaccesousuario"])){
                    
$tieneacceso=1;
                    break;
                }
            }
        }
        else{
            if (
in_array($acceso,$_SESSION["arregloaccesousuario"])){
                
$tieneacceso=1;
                
            }
        }
        if(
$tieneacceso==0){
            
header("location: logout.php");
        }
        
   }
}


?>

entonces ya cuando necesitaba verificar o si el usuario estaba logeado o podia entrar a determinada parte del sistema era mucho menos el codigo a usar


Código PHP:
Ver original
  1. include_once("classes/sessiones.php");
  2. $sess=new sessiones();
  3. $sess->valida();
  4. $sess->revisaaccesousuario(2);


o ya para cerrar mi session

Código PHP:
Ver original
  1. include_once("classes/sessiones.php");
  2. $sess=new sessiones();
  3. $sess->cerrarsession();
  4. header("location: home.php");


la verdad si te facilita mucho el reuso de código y mantenimiento aunque hay mejores usos y mas a fondo de la orientación a objetos como frameworks que una vez que le hallas agarrado chido la onda a la orientacion a objetos conviene que te metas para igual facilitarte la vida
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo