Foros del Web » Programando para Internet » PHP »

Obtener fecha de registro e ip y incluir en Base de datos

Estas en el tema de Obtener fecha de registro e ip y incluir en Base de datos en el foro de PHP en Foros del Web. Buenas de nuevo, tengo una funcion como por ejemplo esta que me comprueba si el usuario que va a registrarse ya existe el nombre en ...
  #1 (permalink)  
Antiguo 12/05/2007, 10:22
 
Fecha de Ingreso: abril-2007
Mensajes: 156
Antigüedad: 17 años
Puntos: 0
Obtener fecha de registro e ip y incluir en Base de datos

Buenas de nuevo, tengo una funcion como por ejemplo esta que me comprueba si el usuario que va a registrarse ya existe el nombre en la base de datos:

$resultado = mysql_query ("select * from tabla where campo='$username'");
if (!$resultado)

return "No se pudo ejecutar la petición";

if (mysql_num_rows($resultado)>0)
return "Este nombre de usuario ya está ocupado. Por favor vuelva y elija otro.";

Mi problema esque necesito una función al igual que esta que controla al visitante o decirme como puedo crearla o si hay alguna ya creada para que registre en base de datos la fecha de entrada y la ip del visitante para poder controlar el tiempo que puede acceder al servicio que ofrece mi pagina a dicho visitante o cliente.

Gracias de nuvo espero respuesta lo antes posible un saludo

Última edición por hyperrjas; 13/05/2007 a las 03:16
  #2 (permalink)  
Antiguo 12/05/2007, 10:56
Avatar de jmqc  
Fecha de Ingreso: noviembre-2004
Ubicación: Venezuela
Mensajes: 353
Antigüedad: 19 años, 4 meses
Puntos: 1
Re: Obtener fecha de registro e ip y incluir en Base de datos

Que tal, si lo que necesitas es registrar la ip del visitante y la fecha en que esta ingresando te convedria utilizar esta funcion $_SERVER['REMOTE_ADDR'], para saber la dir ip desde donde te visitan y bueno para la fecha , luego no se como quieres hacer si la primera vez un usuario le registras la ip con la fecha y cuando vuelva a entrar en vez de crear otro registro lo que haces es que lo consultas y si lo encuentras lo actualizas con la nueva fecha, bueno ya en eso tu veras pero una vez que tienes la ip y la fecha, debes tener una tabla con esos campos en tu bd para ingresarla con un INSERT INTO. Espero que te sirva ... Saludos
__________________
Ante el desconocimiento ni entendimiento de las cosas decimos que los demás estan locos.

José Quintero. Saludos.
:adios:
  #3 (permalink)  
Antiguo 13/05/2007, 00:12
 
Fecha de Ingreso: abril-2007
Mensajes: 156
Antigüedad: 17 años
Puntos: 0
Sonrisa Re: Obtener fecha de registro e ip y incluir en Base de datos

Muchas Gracias por la respuesta jmqc

Siento no haber podido responder antes porque he podido.
Aqui os muestro como obtener la ip de casi cualquiera que nos visite.


No puedo poner la pagina porque no tengo mas de 30 mensajes posteados y por motivos antispam no medeja postear direcciones web pero pongo el nombre de su autor.

Posteado por Patxi Echarte

Código:


Código:
<?
function getRealIP()
{
   
   if( $_SERVER['HTTP_X_FORWARDED_FOR'] != '' )
   {
      $client_ip =
         ( !empty($_SERVER['REMOTE_ADDR']) ) ?
            $_SERVER['REMOTE_ADDR']
            :
            ( ( !empty($_ENV['REMOTE_ADDR']) ) ?
               $_ENV['REMOTE_ADDR']
               :
               "unknown" );
   
      // los proxys van añadiendo al final de esta cabecera
      // las direcciones ip que van "ocultando". Para localizar la ip real
      // del usuario se comienza a mirar por el principio hasta encontrar
      // una dirección ip que no sea del rango privado. En caso de no
      // encontrarse ninguna se toma como valor el REMOTE_ADDR
   
      $entries = split('[, ]', $_SERVER['HTTP_X_FORWARDED_FOR']);
   
      reset($entries);
      while (list(, $entry) = each($entries))
      {
         $entry = trim($entry);
         if ( preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", $entry, $ip_list) )
         {
                        $private_ip = array(
                  '/^0\./',
                  '/^127\.0\.0\.1/',
                  '/^192\.168\..*/',
                  '/^172\.((1[6-9])|(2[0-9])|(3[0-1]))\..*/',
                  '/^10\..*/');
   
            $found_ip = preg_replace($private_ip, $client_ip, $ip_list[1]);
   
            if ($client_ip != $found_ip)
            {
               $client_ip = $found_ip;
               break;
            }
         }
      }
   }
   else
   {
      $client_ip =
         ( !empty($_SERVER['REMOTE_ADDR']) ) ?
            $_SERVER['REMOTE_ADDR']
            :
            ( ( !empty($_ENV['REMOTE_ADDR']) ) ?
               $_ENV['REMOTE_ADDR']
               :
               "unknown" );
   }
   
   return $client_ip;
   
}
 
?>
Para sacar la ip y poder trabajar con ella:
$ip = getRealIP();

Duda 1ª porque si hago un archivo llamado getip.php con esta funcion y hago un include a getip me muestra en pantalla SIEMPRE SIEMPRE el valor de la ip como si la funcion hiciese un echo? Como puedo llamar a esta funcion con inlcude o require sin que me muestre en pantalla el valor de la ip

Espero que sirva de ayuda y sea de utilidad esta función



Bién ya he conseguido insertar la fecha en mi tabla con los campos fecha_begin y fecha_end, me inserta la fecha en el formato 0000-00-00

Ahora lo que trato es que me devuelva el valor de la resta de la fecha final($fecha_end) y la fecha inicial ($fecha_begin) para asi cuando pase un tiempo en este caso he puesto 0 para comprobar ke salta el mensaje de error.


Código:
function fecha($fecha_begin, $fecha_end)
{
	$tiempo = mysql_query("select * from tabla
                         where $fecha_begin='$fecha_begin'
                         and $fecha_end ='$fecha_end'");
	
    $tiempo= date("Y-m-d", strtotime("$fecha_end"."-"."$fecha_begin"));   
    $tiempo= giragiradata($tiempo);   
	if ($tiempo>0)
	{
	echo "Tu periodo de prueba ha terminado";
	}
	return;
	}

DUDA 2ª Qué estoy haciendo mal? porque no me salta el mensaje de error y me deja entrar perrfectamente en la aplicación?


Espero respuesta lo antes posible muchas gracas de nuevo

Última edición por hyperrjas; 13/05/2007 a las 08:39
  #4 (permalink)  
Antiguo 14/05/2007, 08:31
 
Fecha de Ingreso: abril-2007
Mensajes: 156
Antigüedad: 17 años
Puntos: 0
Re: Obtener fecha de registro e ip y incluir en Base de datos

Agluien me puede ayudar por favor? Gracias
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 15:01.