Page 1 sur 1

récupérer adresse IP

Posté : 20 févr. 2013, 22:11
par msgbrr
Bonjour,
J'ai crée ce script php mais il ne marche pas, pouvez me dire ou est la faute :
<? $inF = fopen("./ip.ini", "a" ); 
 fputs($inF, $REMOTE_ADDR."\n");
$hostname = $_SERVER["REMOTE_ADDR"]; 
$date_str = 'D d M Y H:i:s T(0)'; fputs($inF, date($date_str), $hostname."\n");
 fputs($inF, $hostname."\n"); 
fclose($inF); ?>

PS : mon hebergeur supporte PHP 5.3
Et ce n'est pas le 1er script php que j'utlise donc ça ne vient pas de l'hebergeur !
Je l'ai placée entre les balises <body> a la fin.
J'ai créer la fichier ip.uni avec toute les permissions.

Re: récupérer adresse IP

Posté : 21 févr. 2013, 00:55
par niuxe
<?php
	$ipUser = $_SERVER['REMOTE_ADDR'];
	$now = date('D d M Y H:i:s ');
	$row = $now." --> ".$ipUser."\n";
	
	$file = 'log.txt';
	$mode = 'a';
	
	$ressource = fopen($file,$mode);
	fputs($ressource,$row);
	fclose($ressource);
Fait de tête. Je peux m'être trompé

Re: récupérer adresse IP

Posté : 21 févr. 2013, 19:12
par msgbrr
<?php
	$ipUser = $_SERVER['REMOTE_ADDR'];
	$now = date('D d M Y H:i:s ');
	$row = $now." --> ".$ipUser."\n";
	
	$file = 'log.txt';
	$mode = 'a';
	
	$ressource = fopen($file,$mode);
	fputs($ressource,$row);
	fclose($ressource);
Fait de tête. Je peux m'être trompé
Est-ce normal que tu ne ferme pas le script "?>"

Re: récupérer adresse IP

Posté : 21 févr. 2013, 21:22
par niuxe
Est-ce normal que tu ne ferme pas le script "?>"
Oui - Pourquoi ?

Je pars du principe que je ne suis pas dans une vue. Donc en amont du code, je ne ferme pas la balise. Plus loin dans le code, je referme de toute manière pour envoyer les informations à la vue. Ce traitement d'informations peut être fait en amont dans ton code.

Dans ton code initial, j'ai vu deux erreurs. Logiquement, tu as dû avoir une erreur de type notice au moins.

* D'une manière générale, il est bon d'écrire ceci pour la déclaration de script php :
<?php /*ici le code*/ ?>
que cela :
<? /*ici le code*/ ?>
* A la ligne 2, il y a la variable $REMOTE_ADDR qui ne vaut rien.
* Tu remarqueras aussi que j'ai changé la description de la date. Je ne crois pas que cette écriture soit correct : 'D d M Y H:i:s T(0)'.

Re: récupérer adresse IP

Posté : 22 févr. 2013, 21:58
par msgbrr
Merci beaucoup mais j'aurais une dernière question !

Les ip sont bien stockés dans log.txt ?
si oui ton code ne mache pas !

merci

Re: récupérer adresse IP

Posté : 23 févr. 2013, 01:08
par niuxe
Merci beaucoup mais j'aurais une dernière question !

Les ip sont bien stockés dans log.txt ?
si oui ton code ne mache pas !

merci
Il marche très bien ce code. J'ai repris ta syntaxe à peu de choses près ;) On est dans le forum avancé. Donc tu es capable de voir où ça cloche. ;)

Re: récupérer adresse IP

Posté : 23 févr. 2013, 15:44
par msgbrr
J'ai relu le code une dizaine de fois mais je ne vois absolument pas ou ça cloche, pour moi il est complet.
De plus si je suis ici c'est aussi car j'ai besoin d'aide !!

Re: récupérer adresse IP

Posté : 23 févr. 2013, 16:13
par niuxe
Le mode d'ouverture du fichier doit être en 'a+'. Le fichier sur le serveur ne doit pas être créé. Donc tu as dû avoir une erreur de type :
permission denied ....
En reprenant le code, ça devrait faire un truc comme :
<?php
        $ipUser = $_SERVER['REMOTE_ADDR'];
        $now = date('D d M Y H:i:s ');
        $row = $now." --> ".$ipUser."\n";
       
        $file = 'log.txt';
        $mode = file_exists($file)? 'a' : 'a+';
       
        $ressource = fopen($file,$mode);
        fputs($ressource,$row);
        fclose($ressource);
?>

Re: récupérer adresse IP

Posté : 26 févr. 2013, 22:42
par msgbrr
Ok c'est sympa merci, donc je n'ai pas a créer le fichier, il sera créer automatiquement ?

c'est ca ?

Re: récupérer adresse IP

Posté : 27 févr. 2013, 23:44
par niuxe
Ok c'est sympa merci, donc je n'ai pas a créer le fichier, il sera créer automatiquement ?

c'est ca ?
oui. Du moins php tentera de le créer (droit du user -> chmod)