[RESOLU] recuperer ip visiteur

Petit nouveau ! | 6 Messages

28 mai 2014, 17:22

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

ViPHP
xTG
ViPHP | 7331 Messages

28 mai 2014, 20:22

Problème de short_tags désactivé ?
Remplaces <? par <?php

Petit nouveau ! | 6 Messages

28 mai 2014, 20:33

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 :(

ViPHP
ViPHP | 2577 Messages

29 mai 2014, 12:13

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.

Petit nouveau ! | 6 Messages

29 mai 2014, 12:45

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

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

29 mai 2014, 12:53

Salut,

Par concaténation ;)

@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 6 Messages

29 mai 2014, 13:04

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 :(

Mammouth du PHP | 571 Messages

29 mai 2014, 14:08

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?

ViPHP
ViPHP | 2577 Messages

29 mai 2014, 14:58

Remplace $REMOTE_ADDR par $ip_address dans l'écriture dans le fichier

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

Petit nouveau ! | 6 Messages

29 mai 2014, 15:32

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 :(

Mammouth du PHP | 571 Messages

29 mai 2014, 23:02

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); 
?>

Petit nouveau ! | 6 Messages

29 mai 2014, 23:57

Merci beaucoup yann18 le code fonctionne :D
Merci a tous le monde