Enregistrement d'IP

Résolu
jpjcb66 Messages postés 18 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 12 septembre 2013 - Modifié par ichiriac le 10/09/2013 à 14:28
jpjcb66 Messages postés 18 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 12 septembre 2013 - 10 sept. 2013 à 22:36
Bonjour à tous,

Débutant en php je nage et lance un sos...

Est-il possible à partir d'un page html de déclencher un script php situé dans une autre page.php en passant un argument à ce script ?

La manip consiterait à enregistrer l'IP du visiteur de la page html dans un fichier ip.ini avec le titre de la page visitée grâce au script php.

le code php actuel est celui-ci :
<?
$inF = fopen("./ip.ini", "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 T(0)';  // T(0)  ???
fputs($inF, "XXXXX");          // Enregistre page courante
fputs($inF, date($date_str), $hostname."n"); 
fputs($inF, $hostname);
fclose($inF);
?>


où XXXXX est le titre de la page pour l'instant.

Merci à vous.
jp


--

2 réponses

ichiriac Messages postés 195 Date d'inscription lundi 28 janvier 2013 Statut Membre Dernière intervention 13 janvier 2017 3
10 sept. 2013 à 14:27
Salut JP,

Je pense que pour ton besoin tu auras besoin d'un peu de JS.

1. Dans la page HTML tu mets un bloc JS.
2. Ce bloc JS génére une balise image qui appelle ton script de log
3. Ton script de log enregistre les informations que tu souhaites ...

Ca te donne un truc du genre :


La balise JS :
<script type="text/javascript">
var i = document.createElement('img');
i.src = '/log.php?page=' + document.location.pathname;
document.appendChild(i);
</script>


Ton fichier de log PHP ressemblerait à ceci :
<?php
$f = fopen('log.txt', 'a+');
fputs($f, 
  date('Y-m-d H:i:s') 
  . "\t" 
  . $_SERVER['HTTP_HOST'] 
  . "\t"
  . $_GET['page']
  . "\t" 
  . $_SERVER['REMOTE_ADDR']
  . "\n"
);
fclose($f);


Je ne sais pas trop pourquoi tu voulais qu'il soit au format INI, mais là t'as un format où chaque ligne contient une visite sur la page, le séparateur des informations est la tabulation
\t
.

Bonne prog
0
jpjcb66 Messages postés 18 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 12 septembre 2013
10 sept. 2013 à 22:36
Merci à ichiriac pour cette sympathique réponse.
C'est en effet une solution. Entretemps j'ai reçu de l'aide avec une solution php.
L'appel se fait à partir de la page visitée par l'instruction :
<?php
include('log.php');
?>
Dans la page log.php on a le code qui relève l'ip etc...
Ce code ouvre le fichier ip.ini où l'on retrouve ça :
10-09-2013 22:28:40 109.15.112.240 Accueil.php
10-09-2013 22:28:54 109.15.112.240 AERO.php
10-09-2013 22:29:23 109.15.112.240 VOILE.php

Donc pour l'instant c'est pas mal
Ça ne vaut pas le tableau de chez compteur.fr qui permet de lire aussi l'OS le navigateur le FAI de l'ip et quelques gâteries supplémentaires. mais je gagne en autonomie.

Encore merci de t'être intéressé au problème et m'avoir répondu.

Cordialement.
JP
--
0
Rejoignez-nous