Foros del Web » Programando para Internet » PHP »

Duda con Guardar ip en SESSION para comprobar si es el mismo

Estas en el tema de Duda con Guardar ip en SESSION para comprobar si es el mismo en el foro de PHP en Foros del Web. Hola, lo que intento comprobar un ip viejo con uno nuevo por medio de SESSION para saber si es una visita unica por ip o ...
  #1 (permalink)  
Antiguo 26/09/2008, 07:08
Avatar de hawaiian050  
Fecha de Ingreso: junio-2007
Mensajes: 285
Antigüedad: 16 años, 10 meses
Puntos: 2
Duda con Guardar ip en SESSION para comprobar si es el mismo

Hola,

lo que intento comprobar un ip viejo con uno nuevo por medio de SESSION para saber si es una visita unica por ip o no, para hacer un insert en la mysql luego, eso posible con SESSION ? o nesecito usar otro metodo cual ?

Código PHP:
<?php 

$_SESSION
['ip'] = getenv("REMOTE_ADDR");
$ip getenv("REMOTE_ADDR"); 

if(
session_id($_SESSION['ip']) == $ip)
{
echo 
'mismo ip '.$_SESSION['ip'].'';
}
else
{
echo 
'ip nuevo '.$ip.'';
}

?>
Desde ya gracias saludos
  #2 (permalink)  
Antiguo 26/09/2008, 08:28
Avatar de degochan  
Fecha de Ingreso: marzo-2008
Mensajes: 27
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Duda con Guardar ip en SESSION para comprobar si es el mismo

Código PHP:
$ip=$_SERVER['REMOTE_ADDR'
eso te colocaría la ip en la variable
asi que si tienes en una BD las ip Guardadas debería hacer

Código PHP:
$q="select * from tabla where ip='".$_SERVER['REMOTE_ADDR']."'";
$rss=mysql_query($q);
$cant=mysql_affected_rows();
if (
$cant<='0'){
   
$q="incert into tabla set ip='".$_SERVER['REMOTE_ADDR']."'"
   
$rss=mysql_query($q);
          } 
y bueno eso te resolvería el guardado de las ip ahora el tema, que no entendi bien que es lo que quieres hacer
por que si el usuario cambia de ip perderá la cesión en el servidor, ya que si no me equivoco las cesiones en los servidores están ligadas a las ip de los navegantes, de otra forma no me imagino como es que controla las cesiones :p
  #3 (permalink)  
Antiguo 26/09/2008, 08:44
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Duda con Guardar ip en SESSION para comprobar si es el mismo

Una aclaración al código, la función mysql_affected_rows(), devuelve le número de filas afectadas en la ultima sentencia INSERT, UPDATE o DELETE, para obtener el número de filas de un SELECT necesitas usar mysql_num_rows()
Código PHP:
$ip $_SERVER['REMOTE_ADDR'];
$q "select * from tabla where ip='".$_SERVER['REMOTE_ADDR']."'";
$rss mysql_query($q) or die("Error en query $q:".mysql_error() );
if (
mysql_num_rows($rss) == 0){
   
$q_I ="insert into tabla set ip = '".$_SERVER['REMOTE_ADDR']."'";
   
$rss_I mysql_query($q) or die("Error en query $q_I:".mysql_error() );} 
Saludos.
  #4 (permalink)  
Antiguo 26/09/2008, 08:53
Avatar de hawaiian050  
Fecha de Ingreso: junio-2007
Mensajes: 285
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Duda con Guardar ip en SESSION para comprobar si es el mismo

GRACIAS ! , lo solucione antes de tu respuesta con cookies y comprobacion,

muy amable lo voy a implementar en otro tipo de programacion .

Saludos
  #5 (permalink)  
Antiguo 26/09/2008, 09:01
Avatar de degochan  
Fecha de Ingreso: marzo-2008
Mensajes: 27
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Duda con Guardar ip en SESSION para comprobar si es el mismo

si tenes razon pero tambie sirve para el selec pero si el
Código HTML:
mysql_num_rows()
es mejor que
Código HTML:
mysql_affected_rows()
para las sentecias Selects
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:55.