Foros del Web » Programando para Internet » PHP »

Como diferenciar entre Cookies y Session

Estas en el tema de Como diferenciar entre Cookies y Session en el foro de PHP en Foros del Web. Hola amigos, tengo un pequeño percance, decidí trabajar con Cookies y Session, para la autentificaron de usuarios. en autentificación de usuarios, tengo un check, como ...
  #1 (permalink)  
Antiguo 29/07/2007, 15:37
Avatar de capa  
Fecha de Ingreso: octubre-2006
Mensajes: 86
Antigüedad: 18 años, 1 mes
Puntos: 1
Como diferenciar entre Cookies y Session

Hola amigos, tengo un pequeño percance, decidí trabajar con Cookies y Session, para la autentificaron de usuarios.

en autentificación de usuarios, tengo un check, como el login de este foro (la opción recordarme), que envía el modo de inicio en la autentificación, crea la COOKIE, cuando el usuario selección recordarme (esto para darle horas en la cookie), la otra opción, inicia la SESSION

nombre de la cookie y session: login
Código PHP:
If ($_POST['recordar']==1)
{
   
setcookie("login",$datos_del_usuario,time()+21600,"/");
}else{
    
session_name("login");
    
session_start();
    
$_SESSION["datos"] = $datos_del_usuario;

El problema es como hago la diferencia, si ese dato de login es realmente COOKIE o SESSION, realizo una verificación a la pagina referida.

Si es cookie, no inicio session_start(); para eso quiero saber si login es COOKIE o SESSION.

intente con ete

Código PHP:
 if(isset($login) && $login == $_COOKIE[' login'])
{
echo 
$_COOKIE[' login'];     //me imprime la session 6b14a94a8b4ff5c810f6bcd9da0e4028

Como saber si el dato $login es una COOKIE, alguna otra forma de identificar a $login, aun no eh indagado sobre el comportamiento de las session, haber si ustedes tengan información a lo referido, estare atento, saludos y gracias por las respuesta..
__________________
Destreza..<?phs La felicidad es un trayecto ?>
  #2 (permalink)  
Antiguo 29/07/2007, 19:59
 
Fecha de Ingreso: noviembre-2006
Mensajes: 166
Antigüedad: 18 años
Puntos: 4
Re: Como diferenciar entre Cookies y Session

Hola.

No se si es esto lo que quieres saber:

Código PHP:
if($_SESSION['login'){
    echo 
"Tenemos creada una variable de sesión llamada login";

Código PHP:
if($_COOKIE['login'){
    echo 
"Tenemos creada una cookie llamada login";

  #3 (permalink)  
Antiguo 30/07/2007, 22:54
Avatar de capa  
Fecha de Ingreso: octubre-2006
Mensajes: 86
Antigüedad: 18 años, 1 mes
Puntos: 1
Pregunta Re: Como diferenciar entre Cookies y Session

Hola DarkKing,
Bueno, no es eso lo que busco, el nombre de la session es login, si uso por defecto seria PHPSESSID

if (isset($_COOKIE[' PHPSESSID'])) echo “session ala vista”;

Si alguien me pude sacar de duda, los browseres lo tomas el nombre de una session como una cookies, me explico, el nombre de la session es login, esto se comporta como una cookie?

Si haces algo como este:
Código PHP:
session_name("login");
session_start();
$_SESSION["datos"] = $datos_del_usuario;

if (isset(
$_COOKIE['login'])) echo “cookie o session”
login viene a se una variable global $login, habra una forma de diferenciar si esa variable es cookie o session?

Bueno, estoy al confuso con el tema
__________________
Destreza..<?phs La felicidad es un trayecto ?>
  #4 (permalink)  
Antiguo 30/07/2007, 23:19
Avatar de eskorbutin  
Fecha de Ingreso: junio-2006
Mensajes: 65
Antigüedad: 18 años, 4 meses
Puntos: 2
Re: Como diferenciar entre Cookies y Session

Veamos...

para identificar si es cookie ó session....

Código PHP:
if (isset($_COOKIE['login'])){
   echo 
"Es cookie";
}elseif (isset(
$_SESSION['login'])){
   echo 
"Es sesión";

  #5 (permalink)  
Antiguo 31/07/2007, 08:20
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Como diferenciar entre Cookies y Session

Lo que no entiendo es para qué necesitás la cookie, por qué no simplemente guardás el dato de validez de la sesión en la sesión misma.

Nunca confíes en las globales, por esto: se procesan normalmente en modo EGPCS, es decir: ENV, GET, POST, COOKIE, SESSION

Con lo que, si tenés login tanto en cookie como en session, la que vas a obtener es la de session (ya que sobreescribirá la que viene de cookie)

Por otro lado, al crear una sesión estás (normalmente) creando una cookie, que se envía al navegador y solamente contiene el identificador de la sesión.
Esta cookie además tiene el mismo nombre que la sesión, por lo que, sea sesión o sea cookie, $_COOKIES['login'] estará presente.

Entonces, lo que resulta es que, abras o no abras la sesión, siempre estás enviando una cookie con nombre "login": Sería mucho más sencillo abrir la sesión siempre, y verificar que tiene los datos que necesita una sesión válida. Si los tiene, continúa, si no los tiene hacés un session_destroy().


Saludos.
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:07.