Page 1 sur 1

recuperer ip visiteur

Posté : 28 mai 2014, 17:22
par guigui09
Bonjour a tous

N'ayant aucune base je solicite votre aide svp.
Ayant deux hebergement 1 sur ovh et 1 sur 1and1.
J'ai pu trouver le code suivant afin de recuperer les ip des visiteurs:

Code : Tout sélectionner

<? $inF = fopen("./ip.txt", "a" ); fputs($inF, $REMOTE_ADDR."\n"); $hostname = $_SERVER["REMOTE_ADDR"]; $date_str = 'D d M Y H:i:s'; fputs($inF, date($date_str), $hostname."\n"); fputs($inF,"\n"); fclose($inF); ?>
J'ai constater que le code fonctionne tres bien sur ovh
Mais par contre sur 1and1 l'adresse ip de n'affiche pas
connaissez vous la raison ? Avez vous une solution ?

Merci d'avance pour votre aide

Re: recuperer ip visiteur

Posté : 28 mai 2014, 20:22
par xTG
Problème de short_tags désactivé ?
Remplaces <? par <?php

Re: recuperer ip visiteur

Posté : 28 mai 2014, 20:33
par guigui09
Bonsoir et merci pour votre reponse mais malheuresement je viens d'essayer et meme resultat le jour et l'heure s'affiche mais pas l'adresse ip :(

Re: recuperer ip visiteur

Posté : 29 mai 2014, 12:13
par Mazarini
Peut être :
if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $ip_address = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
    $ip_address = $_SERVER['REMOTE_ADDR'];
}
REMOTE_ADDR est "perturbée" par les proxy.

Re: recuperer ip visiteur

Posté : 29 mai 2014, 12:45
par guigui09
Bonjour et merci pour votre reponse
il sagit d'un code qui envoi les adresses ip ainsi que l'heure et la date dans un fichier (ip.txt)
comment pourrai je le combiner avec le code que vous m'avez envoyé ?

Merci

Re: recuperer ip visiteur

Posté : 29 mai 2014, 12:53
par moogli
Salut,

Par concaténation ;)

@+

Re: recuperer ip visiteur

Posté : 29 mai 2014, 13:04
par guigui09
Bonjour

Merci si je comprend bien car mon niveau est 0
je viens d'essayer le code

Code : Tout sélectionner

<?php if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip_address = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip_address = $_SERVER['REMOTE_ADDR']; } $inF = fopen("./ip.txt", "a" ); // ouvre le fichier ip.ini en mode append fputs($inF, $REMOTE_ADDR."\n"); // récupère l'ip de l'utilisateur $hostname = $_SERVER["REMOTE_ADDR"]; $date_str = 'D d M Y H:i:s'; fputs($inF, date($date_str), $hostname."\n"); fputs($inF,"\n"); fclose($inF); ?>
Qui ne fonctionne pas les adresses ip ne sont pas enregistrer seulement la date et l'heure

Ce que je ne comprend vraiment pas c'est pourquoi le meme code fonctionne tres bien sur le serveur ovh mais pas sur 1and1 :(

Re: recuperer ip visiteur

Posté : 29 mai 2014, 14:08
par yann18
Ce que je ne comprend vraiment pas c'est pourquoi le meme code fonctionne tres bien sur le serveur ovh mais pas sur 1and1 :(
quelle version de php as-tu sur le serveur de 1and1?

Re: recuperer ip visiteur

Posté : 29 mai 2014, 14:58
par Mazarini
Remplace $REMOTE_ADDR par $ip_address dans l'écriture dans le fichier

fputs($inF, date($date_str), $ip_address."\n");

Re: recuperer ip visiteur

Posté : 29 mai 2014, 15:32
par guigui09
Bonjour

Pour repondre a yann18 version 5.4

J'ai essayer le code

Code : Tout sélectionner

<?php $inF = fopen("./ip.txt", "a" ); fputs($inF, $ip_address."\n"); $hostname = $_SERVER["REMOTE_ADDR"]; $date_str = 'D d M Y H:i:s'; fputs($inF, date($date_str), $ip_address."\n"); fputs($inF,"\n"); fclose($inF); ?>
Mais maintenant plus rien ne s'affiche :(

Re: recuperer ip visiteur

Posté : 29 mai 2014, 23:02
par yann18
il y a pas mal d'erreurs dans ton code notamment sur la fonction fputs dont la signature est:
 int fputs ( resource $handle , string $string [, int $length ] )
en réécrivant ton code:
<?php
if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $ip_address = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
    $ip_address = $_SERVER['REMOTE_ADDR'];
}
$inF = fopen("./ip.txt", "a" ); // ouvre le fichier ip.ini en mode append
//fputs($inF, $ip_address."\n"); // récupère l'ip de l'utilisateur
fputs($inF, date('D d M Y H:i:s',time()).','. $ip_address."\n");
fputs($inF,"\n");
fclose($inF); 
?>

Re: recuperer ip visiteur

Posté : 29 mai 2014, 23:57
par guigui09
Merci beaucoup yann18 le code fonctionne :D
Merci a tous le monde