Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/01/2009, 12:44
Xematick
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: Comprobar Session y Cookie e insertar su ip

Bueno, como veo una "activa" participación en el post, voy a tratar de hacer lo que a mi se me ocurriria.
Animaros por lo menos a corregir el script.
Los comentarios en mayúsculas son lo nuevo del script

Código PHP:
<?php 
//conecto con la base de datos
$conn mysql_connect("localhost","***","***");
//selecciono la BBDD
mysql_select_db("elnombredemibase",$conn); 
//defino la variable ip, en este caso la ip del usuario
$ip $ip $REMOTE_ADDR ;

//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 mi_db 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);
}
}
}
//comenzamos las comprobaciones, primero miramos si tienes memorizados datos en una cookie
if (isset($_COOKIE["id_usuario_dw"]) && isset($_COOKIE["marca_aleatoria_usuario_dw"])) {
          
$msj 'Hola <b> '.$usuario_encontrado->nombre_usuario;
//INTENTO BUSCAR QUE LA IP DE LA PERSONA CON ESAS COOKIES REGISTRADAS COINCIDE CON LA IP MEMORIZADA PARA ESA COOKIE
          
$ssql_1 "select * from mi_db where id_usuario=" $_COOKIE["id_usuario_dw"] . " and cookie='" $_COOKIE["marca_aleatoria_usuario_dw"] . "' and cookie<>'' and ip='$ip'";
          
$rs_1 mysql_query($ssql_1);
//SI DA NEGATIVO EL RESULTADO PASO A INSERTAR SU IP EN EL CAMPO IP DE LA BASE DE DATOS
                
if (mysql_num_rows($rs_1)==0){
                            
$query "INSERT INTO mi_db (ip) VALUES ('$ip')";
                            
$query1 "INSERT INTO tblUsuarios (ip) VALUES ('$ip')";
                            
mysql_query($query) or die(mysql_error());
                            
mysql_query($query1) or die(mysql_error());
                
}
//si no tiene cookie miramos si tiene una session 
}else{
session_start();
if ( isset ( 
$_SESSION['usuario'] ) ) {
          
$msj 'Hola <b> '.$_SESSION['usuario'].' </b> <a href="login/salir.php"><img src="imagenesweb/x.jpg"/></a>';
//INTENTO BUSCAR QUE LA IP DE LA PERSONA CON ESAS COOKIES REGISTRADAS COINCIDE CON LA IP MEMORIZADA PARA ESA SESSION
          
$ssql_2 "select * from mi_db where nombre_usuario=" .$_SESSION['usuario']. " and ip='$ip'";
          
$rs_2 mysql_query($ssql_2);
//SI DA NEGATIVO EL RESULTADO PASO A INSERTAR SU IP EN EL CAMPO IP DE LA BASE DE DATOS
                
if (mysql_num_rows($rs_2)==0){
                            
$query2 "INSERT INTO mi_db (ip) VALUES ('$ip')";
                            
$query3 "INSERT INTO tblUsuarios (ip) VALUES ('$ip')";
                            
mysql_query($query2) or die(mysql_error());
                            
mysql_query($query3) or die(mysql_error());
}
//si no la tiene la invitamos a que se haga login o se registre :)
}else{
          
$msj 'Hola <b>Invitado</b><DIV ALIGN=right><a href="identificacion.php">Identificarse</a> | <a href="login/registro.php">Registrarse</DIV></a>';
}          
}
echo 
$msj;
?>

Última edición por Xematick; 15/01/2009 a las 13:27