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;
?>