Foros del Web » Programando para Internet » PHP »

Sistemita de Referidos con restriccion por IP

Estas en el tema de Sistemita de Referidos con restriccion por IP en el foro de PHP en Foros del Web. Estimados, Tengo el siguiente codigo, muy simple pero me sirve. El tema es que tengo que restringir de alguna manera que el usuario mismo no ...
  #1 (permalink)  
Antiguo 12/09/2011, 10:43
 
Fecha de Ingreso: julio-2011
Mensajes: 2
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Sistemita de Referidos con restriccion por IP

Estimados,

Tengo el siguiente codigo, muy simple pero me sirve.

El tema es que tengo que restringir de alguna manera que el usuario mismo no se haga visitas, algo como por ejemplo si viene desde un ip que ya esta en el registro no le sume visitas.

Me dan una mano ya que mucho no se de PHP.

Este es el codigo, trabaja con una base SQL.

Yo a los users le indico que utilizen el enlace de mi web de la siguiente manera.

http://miweb.com/index.php?id=usuario

Código PHP:
<? 
//Saco la variable id de la URL 
$website $HTTP_GET_VARS["id"]; 

$result  mssql_query("SELECT * FROM ref WHERE web LIKE '$website'");
// Verificamos si existe algun registro con el website dependiente de la variable $website.
if(mssql_num_rows($result)==0)
      { 
         
// si no existe ningun registro insertamos
         
mssql_query("INSERT INTO ref (web, visitas) VALUES ('$website', '1')");
      }
      else
      {  
// de otro modo actualizamos visitas
         
mssql_query("UPDATE ref SET visitas = visitas+1 WHERE web LIKE '$website'");  
      }     
?>

Desde ya muchisimas gracias.
  #2 (permalink)  
Antiguo 12/09/2011, 10:56
 
Fecha de Ingreso: agosto-2011
Ubicación: DF
Mensajes: 44
Antigüedad: 12 años, 8 meses
Puntos: 10
Respuesta: Sistemita de Referidos con restriccion por IP

no me gusta hacer las funciones de los demas pero nose esta me dieron ganas aqui te la pongo amigo es una posible solucion espero que te sirva

se maneja con sessiones en PHP

Código PHP:
Ver original
  1. <?  
  2. //Saco la variable id de la URL  
  3. $website = $HTTP_GET_VARS["id"];  
  4.  
  5. //obtengo la ip
  6. $ip_real = null;
  7. if($_SERVER['HTTP_CLIENT_IP'])
  8.     $ip_real=$_SERVER['HTTP_CLIENT_IP'];
  9. else if($_SERVER['HTTP_X_FORWARDED_FOR'])
  10.     $ip_real=$_SERVER['HTTP_X_FORWARDED_FOR'];
  11. else
  12.     $ip_real=$_SERVER['REMOTE_ADDR'];
  13.    
  14.     $_SESSION["ip"];
  15.     //validamos que exista la sesion por ip
  16.     if(empty($_SESSION["ip"])){
  17.         //si esta vacia le asignamos
  18.         $_SESSION["ip"]=$ip_real;
  19.        
  20.         //si existe validamos que no sea igual si es igual no aumentamos las visitas
  21.         } else if($_SESSION["ip"]==$ip_real) {  }
  22.         //sino es igual aplicamos la funcion para agregar una visita
  23.         else{
  24.  
  25. $result  = mssql_query("SELECT * FROM ref WHERE web LIKE '$website'");
  26. // Verificamos si existe algun registro con el website dependiente de la variable $website.
  27. if(mssql_num_rows($result)==0)
  28.       {  
  29.          // si no existe ningun registro insertamos
  30.          mssql_query("INSERT INTO ref (web, visitas) VALUES ('$website', '1')");
  31.       }
  32.       else
  33.       {  // de otro modo actualizamos visitas
  34.          mssql_query("UPDATE ref SET visitas = visitas+1 WHERE web LIKE '$website'");  
  35.       }  
  36.      
  37.         }
  38. ?>
  #3 (permalink)  
Antiguo 12/09/2011, 13:53
 
Fecha de Ingreso: julio-2011
Mensajes: 2
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Sistemita de Referidos con restriccion por IP

Gracias por darme una mano con el codigo.
Pero aun asi ahora no me añade registros ni crea registros, desde una misma ip o diferente.
Lo puedes verificar? o alguien me podria dar una ayudita mas.

Etiquetas: ip, referidos, registro, restriccion, sql, variables, usuarios
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 20:53.