Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/05/2007, 00:12
hyperrjas
 
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