Foros del Web » Programando para Internet » PHP »

Comprobar sesion

Estas en el tema de Comprobar sesion en el foro de PHP en Foros del Web. Hola, necesito hacer que mi script realice una accion u otra, dependiendo de si previamente se ha iniciado una sesion o no. Por ejemplo: Si ...
  #1 (permalink)  
Antiguo 08/06/2009, 20:38
 
Fecha de Ingreso: agosto-2008
Mensajes: 30
Antigüedad: 15 años, 8 meses
Puntos: 0
Pregunta Comprobar sesion

Hola, necesito hacer que mi script realice una accion u otra, dependiendo de si previamente se ha iniciado una sesion o no.

Por ejemplo:
Si el usuario introduce esta url:

ejemplo.com/script.php?variable=1

necesito que mi script compruebe si ya se ha iniciado una sesion con ese usuario. En ese caso, que realice una x accion y en caso contrario que realice otra.

Alguna idea de como puedo hacer esto?

Saludos.

Última edición por johntse; 08/06/2009 a las 20:43
  #2 (permalink)  
Antiguo 08/06/2009, 20:45
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Comprobar sesion

Tu lo que quieres es que este logueado?

Puedes hacer un if

if(empty($_SESSION["CONECTADO"])){
//hacer algo
}else{
//hacer otra cosa
}
  #3 (permalink)  
Antiguo 08/06/2009, 20:56
 
Fecha de Ingreso: agosto-2008
Mensajes: 30
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Comprobar sesion

Gracias por tu respuesta abimaelrc.

La variable $_SESSION["CONECTADO"] la registro despues de que compruebo que el usuario ha introducido un login y un pass correctos?

Es necesario que le asigne algun valor a esa variable o con registrarla es suficiente?

Saludos.
  #4 (permalink)  
Antiguo 08/06/2009, 21:03
 
Fecha de Ingreso: enero-2007
Mensajes: 97
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: Comprobar sesion

johntse, para mis aplicaciones yo uso algo similar a este "esquema":

Código PHP:
<?php
// SI ES QUE EL USUARIO SE ESTA AUTENTIFICANDOSE POR MEDIO DE UN FORMULARIO
if (isset($_POST['user']) && isset($_POST['pass'])) {

    
$db_conexionmysql_connect($hostdb,$userdb,$passworddb) or die("NO SE PUDO CONECTAR A LA BD");
    
mysql_select_db($namedb,$db_conexion);

    
//realizamos la consulta a la BD para obtener datos del Usuario.
    
$oResult=mysql_query($sSql) or die("NO SE PUDO REALIZAR LA CONSULTA A LA BD");

    
//miramos el total de resultado de la consulta (si es distinto de 0 es que existe el usuario)
    
if (mysql_num_rows($oResult)) {
         
// Iniciamos el uso de sesiones
        
session_name("nombre_de_la_sesion");
        
session_start();        
        
/* +CODIGO */    
   
}
   else {
      
// si no esta el nombre de usuario en la BD o el password
      
echo "NOMBRE DE USUARIO O PASSWORD INCORRECTO";
    }
    
}
 else {
    
// -------- USUARIO REGISTRADO O ENTRO DIRECTAMENTE A UN ARCHIVO ------
    // Iniciamos el uso de sesiones
    
session_name("nombre_de_la_sesion");    
    
session_start();
    
// comprobar si existen las variables de sesion con las que se identifico el usuario
    
if (!isset($_SESSION['nombuser']) && !isset($_SESSION['passuser'])){
        
// Borramos la sesion creada por el inicio de session anterior
        
session_destroy();
        
$_SESSION = array();
        echo 
"NO HAS INICIADO SESION";
    }
    else{    
        
/* +CODIGO */ 
    
}
}
?>
Obviamente debes setear algunas variables y hacer la consulta hacia tu tabla de usuarios, pero creo se entiende la idea.
__________________
-La duda es la base del conocimiento-
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 13:16.