Foros del Web » Programando para Internet » PHP »

mantener sesion

Estas en el tema de mantener sesion en el foro de PHP en Foros del Web. buen dia amigos, tengo el siguiente codigo Código PHP: <?php session_start (); include  "../conect.php" ; $email  =  strtolower  ( $_REQUEST [ "email" ]); $clave  =  ...
  #1 (permalink)  
Antiguo 05/05/2008, 08:40
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 7 meses
Puntos: 28
mantener sesion

buen dia amigos,
tengo el siguiente codigo
Código PHP:
<?php
session_start
();
include 
"../conect.php";
$email strtolower ($_REQUEST["email"]);
$clave strtolower ($_REQUEST["clave"]);
//echo $email."....".$clave;
/*        
        $sql="select * from usuario"; //LOGIN DE USUARIOS
        $sql_exec = mysql_query($sql);
        //$rec = mysql_fetch_array($sql_exec);
        while($rec = mysql_fetch_array($sql_exec)){
        echo $rec['email']."---".$rec['clave']."<br>";
        }
*/


    
if(empty($email) or empty($clave)){
    
//error tipo: 1 campos vacios.
    
header("Location: ../login.php");
    }else{

        
$sql="select * from usuario where email='".$email."' and clave='".$clave."' "//LOGIN DE USUARIOS
        
$sql_exec mysql_query($sql);
        
$rec mysql_fetch_array($sql_exec);
        
//echo mysql_num_rows($sql_exec);
        //echo mysql_error();
                
if ($rec['email'] == $email  and $rec['clave'] == $clave  ){
                
                                    
//DEFINO LAS VARIABLES DE SESION QUE VOY A USAR EN EL SISTEMA
                                    //Y SEGUN ELLAS VALIDO LA ENTRADA A CIERTAS AREAS DEL MISMO,
                                    //O MOSTRAR DATOS SEGUN EL TIPO DE USUARIO
                                    
$_SESSION['id_usuario']=$rec["id"];//ID DEL USUARIO
                                    
$_SESSION['nombre']=$rec["nombre"];//nombre del usuario
                                    
$_SESSION['email']=$rec["email"];//email
                                    
$_SESSION['id_tipo_usuario']=$rec["id_tipo_usuario"];//ID DEL USUARIO
 
                                    
header("Location: ../adminmenu.php");
                }else{ 
                
$msj="Error";
                
//error tipo: 2 usuarios no esta registrado en la base de datos    
                
header("Location: ../login.php");
                }
    }    
    
?>
el cual me inicia una sesion en un panel de control....
alguien me indica q debo colocar en las paginas internas d ese panel?? q deberian ser privadas, cuestion d q si no esta logueado me devuelva a login.php y si esta logueado me de acceso a la misma..

Gracias
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #2 (permalink)  
Antiguo 05/05/2008, 09:38
 
Fecha de Ingreso: julio-2006
Mensajes: 14
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: mantener sesion

debes incluir el session_start(); en cada pagina y luego llamar a una funcion que te indique si fueron declaradas las variables de sesion, que en este caso te redirecciona a login si no han sido declaradas

Código PHP:
<?php
function SessionPanel ()
{
     if(!isset(
$_SESSION['id_usuario']))
     {
     
header("Location: ../login.php");
     exit;
     }

}
?>
la funcion la puedes guardar por ejemplo en tu archivo conect.php u otro archivo

Código PHP:
<?php
session_start
();
include 
"../conect.php
SessionPanel();

echo "
este es tu panel de control";

?>
  #3 (permalink)  
Antiguo 05/05/2008, 10:37
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 7 meses
Puntos: 28
Re: mantener sesion

aja incluyo el primer codigo en todos los archivos de mi panel de control y el segundo codigo??
no entendi muy bien disculpa
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #4 (permalink)  
Antiguo 05/05/2008, 11:08
Avatar de seik!  
Fecha de Ingreso: mayo-2006
Mensajes: 492
Antigüedad: 17 años, 10 meses
Puntos: 6
Re: mantener sesion

cuando logeas en tu pagina creas una sesion ... las sesiones se propagan por las paginas nacidas de una pagina madre.. en otras palabras las heredas por el browser...

entonces segun esto.. cada vez que habras una nueva pagina o frame debes validar q la sesion este activa.. sino lo mandas a registrarse nuevamente..

tal como lo menciona cesar.. puedes crear una archivo de validacion y lo incluyes luego en tus paginas que desees dar seguridad

esta seria una manera util:

script seguridad basico "seguridad.php"
Código PHP:
<?php  
// Inicializamos sesion
session_start();
//declaramos la variable a verificar
$autentificado=$_SESSION["variable a evaluar"];
//consultamos estado del valor que keremos verificar
if (($autentificado != "lo q estes evaluando")){
//enviamos a registrarse en caso que no sea el valor que deseamos
    
header("Location:http://localhost/tulogin");
//ademas hacemos un exit dando mayor seguridad a tu script
exit();
}

?>
Esto deberias incluir en tus paginas para verificar seguridad
Código PHP:
<?php require("seguridad.php");?>
espero ayude.. la verdad esto es solo la logica a seguir


Saludos,
__________________
sEIK! -Chile-
Analista Programador.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:55.