Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/03/2011, 18:33
Avatar de VbOkonly
VbOkonly
 
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 15 años, 4 meses
Puntos: 5
Consulta sobre logica en este codigo

Código PHP:
Ver original
  1. <?php error_reporting(E_ALL);
  2. ini_set('display_errors', 0);
  3. include ("conexion.php");
  4. $idnegro = mysql_query('SELECT id FROM usuarios WHERE usuario = "'.$_SESSION['k_username'].'"',$db);
  5. $id = mysql_result($idnegro,0);
  6.   $listanegra = mysql_query('SELECT bloquser FROM listanegra WHERE bloquser = "'.$id.'"',$db);
  7.  $negra = mysql_result($listanegra,0);
  8.  if($negra == $id){
  9.  header("location:bloqueo.php");
  10.  exit;
  11.  }
  12.  ?>

Hola a todos, este codigo sirve basicamente para detectar si un usuario que navega esta en la "lista negra", lo tengo en cada pagina de web en el header. Bien, supongamos que el usuario "pepe" inicia sesion(a todo esto se inicia una sesion cuando se logea), y navega como $_SESSION['k_username']=="pepe" digamso a modo de sintaxis ... Ahi todo bien, me hace la query y si no lo encuentran en la lista negra puede seguir navegando tranquilo.
Bien, mi problema está cuando tengo un visitante, un visitante no genera una sesion y por coherencia $id (que es la variable donde se almacena la query para buscar el id de la sesion) y $negra (que es la variable que busca la id en la lista negra), esas dos quedan vacias, y cuando comparo wuala!, me los manda a bloquear xD.
¿Como puedo arreglar esto?, no se me ocurre nada.

Saludos!