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($rs, MYSQL_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 originalinclude_once("classes/sessiones.php");
$sess=new sessiones();
$sess->valida();
$sess->revisaaccesousuario(2);
o ya para cerrar mi session
Código PHP:
Ver originalinclude_once("classes/sessiones.php");
$sess=new sessiones();
$sess->cerrarsession();
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