Signaler

Ecrire adresse ip visiteur avec la date et l'heure dans fichier [Résolu]

Posez votre question sunev 20Messages postés dimanche 29 mai 2016Date d'inscription 26 novembre 2016 Dernière intervention - Dernière réponse le 16 oct. 2016 à 14:00
j'ai mis sur mon site le code php ci dessous pour récupérer l'adresse ip des visiteurs et je n'arrive pas a mettre a la suite de cette adresse la date et l'heure dans le méme fichier.txt


<?php

$filename = 'test.txt';
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
$somecontent=$_SERVER['HTTP_X_FORWARDED_FOR'];
else
$somecontent=$_SERVER['REMOTE_ADDR'];
// Assurons nous que le fichier est accessible en écriture
if (is_writable($filename)) {
// Dans notre exemple, nous ouvrons le fichier $filename en mode d'ajout
// Le pointeur de fichier est placé à la fin du fichier
// c'est là que $somecontent sera placé
if (!$handle = fopen($filename, 'a')) {
echo "Impossible d'ouvrir le fichier ($filename)";
exit;
}
// Ecrivons quelque chose dans notre fichier.
if (fwrite($handle, $somecontent."\r\n") === FALSE)
{
echo "Impossible d'écrire dans le fichier ($filename)";
exit;
}
echo "L'écriture de ($somecontent) dans le fichier ($filename) a réussi";
fclose($handle);
}
else {
echo "Le fichier $filename n'est pas accessible en écriture.";
}
?>


Ce code simple que j'ai trouvé sur un forum fonctionne trés bien, il inscrit les un en dessous des autres les différentes ip dans le fichier.txt que j'ai mis dans le répertoire racine de mon serveur.
le code est copié dans index.php
j'ai essayer de différentes manières de mettre heure et date , elles s'affichent mais les ip ne fonctionnent plus
code date et heure

<?php
$jour=date('d');
$mois=date('m');
$annee=date('Y');
$heure=date('H');
$minute=date('i');
echo'Visiter le'.$jour.'/'.$mois.'/'.$annee.'a'.$heure.'h'.$minute.'mn';
?>

si quelqu'un peut me donner des idées pour le lui intégrer, je ne suis qu'un débutant en php, ça peut m'éviter des nuits blanches.
merci d'avance " un qui sait vaut mieux que dix qui cherchent"
Afficher la suite 
Utile
+0
moins plus
Bonjour,

Je ne suis pas utilisateur de php, mais voilà ce que je ferais (à confirmer par un spécialiste ;-)

           // Ecrivons quelque chose dans notre fichier. 
$jour=date('d');
$mois=date('m');
$annee=date('Y');
$heure=date('H');
$minute=date('i');
$somecontent=$somecontent.' le '.$jour.'/'.$mois.'/' .$annee.' à ' .$heure.'h'.$minute.'mn';
if (fwrite($handle, $somecontent."\r\n") === FALSE)

cdlt

Ajouter un commentaire
Utile
+0
moins plus
je viens d'essayer ce code en le rajoutant a celui de l'IP
seul l'IP reste visible, rien n'a changer

il faudrait voir apparaitre dans le fichier test.txt ici en local ( fonctionne aussi bien sur mon site avec des vraies IP)

127.0.0.1 Visiter le 15/10/2016 a 20h10mn
127.0.0.1 Visiter le 15/10/2016 a 21h32mn
127.0.0.1 Visiter le 15/10/2016 a 22h40mn

seul apparait dans le fichier test.txt
127.0.0.1
127.0.0.1
127.0.0.1

une question en plus: que veut dire la condition === FALSE
deux == équivaut a égale mais trois????
Ajouter un commentaire
Utile
+0
moins plus
j'ai oublier le code tel que je l'ai mis
le voici

<?php
$filename = 'test.txt';
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) 
$somecontent=$_SERVER['HTTP_X_FORWARDED_FOR'];
else
$somecontent=$_SERVER['REMOTE_ADDR'];
if (is_writable($filename))       
if (!$handle = fopen($filename, 'a')) 
{ 
echo "Impossible d'ouvrir le fichier ($filename)";
exit;
}
if (fwrite($handle, $somecontent."\r\n") === FALSE)  
{ 
 echo "Impossible d'écrire dans le fichier ";
 exit;
} 
echo "L'éceriture  dans le fichier  a réussi";
   fclose($handle);
} 
else { 
echo "Le fichier $filename n'est pas accessible en écriture.";
}

$jour=date('d');
$mois=date('m');
$annee=date('Y');
$heure=date('H');
$minute=date('i');
$somecontent=$somecontent.' le'.$jour.'/'.$mois.'/'.$annee.'a'.$heure.'h'.$minute.'mn';
if (fwrite($handle, $somecontent."\r\n") === FALSE)  

?>

ce code peut être modifié en enlevant tous les echo de maniéré a ce qu'il n'y est rien qui apparaisse sur le page d’accueil

echo "Impossible d'ouvrir le fichier ($filename)";
echo "Impossible d'écrire dans le fichier ";
echo "L'éceriture dans le fichier a réussi";
echo "Le fichier $filename n'est pas accessible en écriture.";

si quelqu'un est interressé par ce code il est au courant
comme ça les visiteurs ne savent pas que leur IP est localisée
sinon l'avant dernier echo est visible sur la page
pour lire le fichier il suffit de créer le lien
http://www.monsitweb.net/test.txt


EDIT : Ajout du LANGAGE dans les balises de code
Ajouter un commentaire
Utile
+0
moins plus
Bonjour,

Tu peux utiliser ceci :
$filename = 'test.txt';

$somecontent = isset($_SERVER['HTTP_X_FORWARDED_FOR']) ?  $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];

 if (is_writable($filename)) {
   if (!$handle = fopen($filename, 'a')) { 
     echo "<br>Impossible d'ouvrir le fichier ($filename)";
     exit;
   }
   $somecontent .= " le ". date('d/m/Y') . " à ".date('H:i:s');
   echo "<br>$somecontent";
   if (fwrite($handle, $somecontent."\r\n") === FALSE) { 
     echo "<br>Impossible d'écrire dans le fichier ";
     exit;
   } 
  echo "<br>L'éceriture  dans le fichier  a réussi";
  fclose($handle);
} else { 
  echo "<br>Le fichier $filename n'est pas accessible en écriture ou n'existe pas";
}

Ajouter un commentaire
Utile
+0
moins plus
127.0.0.1 le 16/10/2016 à 12:49:17 est apparu dans test.txt

c'est OK, grand merci jordane45 ton code fonctionne.
une dernière question, dans ce bout de code
if (fwrite($handle, $somecontent."\r\n") === FALSE)
comment interprété la condition ===
== c'est égale mais trois
si ecrire ce qui est ecrit dans test.tx l'ID ouvert en écriture
/n égale égale faux


si des membres de la communauté de commentcamarche veulent ce servir de ce code, il faut le mettre n'importe ou, moi je l'ai mis a la fin du <body>
en prennant soin de retirer tous les echo du code comme je l'avais dit plus haut
mettre le fichier test.txt sur le serveur
ensuite on recupere les IP en créant un lien sur son pc
http://www.monsitweb.net/test.txt
puis on va sur lun des sites suivants
http://fr.geoipview.com/ ou http://trouver-ip.com/index.php ou encore
http://www.netscop.net/localiser-une-adresse-ip.html
et on fait copier coller d'une Ip du fichier test txt dans " recherche"
et voila on localise la zone du visiteur, je dis bien la zone parce qu'il se trouvera dans large rayon autour, l'adresse précise ne sera pas donnée pour des raisons évidentes ( ni l'identitée de la personne).
sur mon site je sais maintenant que j'ai des visiteurs de floride et de californie, c'est super de le savoir

Merci encore à commentcamarche et a toi jordane45
pense aux 3 === si tu connait cette condition

si quelqu'un a des idées pour amelioer ce code je suis prennant
jordane45 15434Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 7 décembre 2016 Dernière intervention - 16 oct. 2016 à 14:00
manual/fr/language.operators.comparison.php
Répondre
Ajouter un commentaire

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !