Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/12/2008, 04:14
Xematick
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Mis dudas con cookies

Vale, ya lo tengo arreglado, me crea la cookie y todo correctamente.
Ahora tengo otra duda.
Cada vez que entramos a una página del site, incluyo mediante un include el archivo miembro.php.
Básicamente me busca que haya una session creada y hace un echo con el valor. El tema está en cómo podria hacer que el archivo miembro.php, me buscase la session y la cookie, y si uno de los 2 existe hacer el echo correspondiente al valor, y si existen los 2 que no me haga 2 echos. Comprendeis?

Este es el archivo miembro.php que solo busca la sesión.
Código PHP:
<?php 
session_start
();
if ( isset ( 
$_SESSION['usuario'] ) ) {
          
$msj 'Hola <b> '.$_SESSION['usuario'].' </b> <a href="login/salir.php"><img src="imagenesweb/x.jpg"/></a>';
}else{
          
$msj 'Hola <b>Invitado</b><DIV ALIGN=right><a href="login/index.php">Identificarse</a> | <a href="login/registro.php">Registrarse</DIV></a>';
}
echo 
$msj;
?>
Este otro busca la cookie prueba-cookie.php
Código PHP:
<?
//conecto con la base de datos
$conn mysql_connect("localhost","+++","+++");
//selecciono la BBDD
mysql_select_db("aerotechdb",$conn); 

//primero tengo que ver si el usuario está memorizado en una cookie
if (isset($_COOKIE["id_usuario_dw"]) && isset($_COOKIE["marca_aleatoria_usuario_dw"])){
   
//Tengo cookies memorizadas
   //además voy a comprobar que esas variables no estén vacías
   
if ($_COOKIE["id_usuario_dw"]!="" || $_COOKIE["marca_aleatoria_usuario_dw"]!=""){
      
//Voy a ver si corresponden con algún usuario
      
$ssql "select * from usuario where id_usuario=" $_COOKIE["id_usuario_dw"] . " and cookie='" $_COOKIE["marca_aleatoria_usuario_dw"] . "' and cookie<>''";
      
$rs mysql_query($ssql);
      if (
mysql_num_rows($rs)==1){
         
$usuario_encontrado mysql_fetch_object($rs);
         echo 
"<br>Hola :" $usuario_encontrado->usuario;
      }
   }
}
?>
Entonces, como se podrian mezclar estos 2 códigos para que si encuentra una de las 2 consultas
Código PHP:
$_SESSION['usuario'
Ó
Código PHP:
$_COOKIE["id_usuario_dw"]) && isset($_COOKIE["marca_aleatoria_usuario_dw"
me haga el echo correspondiente a la consulta y además, en el caso de que las 2 consultas existan, que no me haga doble echo tipo Hola: pepe Hola: pepe
Además habria otro problema si existe la cookie y no la session porque se vera Hola: Invitado Hola:pepe
Bueno, no se si he liado bastante las cosas ya, si alguien sabe por favor como solcionar esto que me ayude. Muchas gracias!