mejr Posté 9 Décembre 2006 Posté 9 Décembre 2006 Bonjour, je suis débutant en php et je bloque contre un problème: je voudrais enregister les adresses ip de mes visiteurs dans un fichier texte (jusque la pas de problème) mais l'enregistrer seulement si elle n'est pas deja présente dans ce fichier (c'est la que je seche). Alors je sais, tout le monde va me répondre "utilise une base de donnée !!" mais je préfairerai comprendre mon erreur avant d'en creer d'autres voila le code: <?php $fichier = fopen("conteur.txt", "a+"); while (!feof($fichier)) { $contenu = fgets($fichier, 1000000); $donnees = explode("§i§",$contenu); $ip =$_SERVER["REMOTE_ADDR"]; if($donnees!= $ip){/*ici est le problème, comment lui faire lire le fichier, avoir une variable correcte (mieu que "$donnees") */ flock($fichier, LOCK_EX); fwrite($fichier, $ip); fwrite($fichier, "§i§"); flock($fichier, LOCK_UN); } } fclose($fichier); ?>
Théo B. Posté 9 Décembre 2006 Posté 9 Décembre 2006 $donnees c'est un tableau, que tu dois parcourir, à l'aide d'une boucle pour pouvoir comparer les valeurs, il me semble.
mejr Posté 10 Décembre 2006 Auteur Posté 10 Décembre 2006 for ($i=0; $i<$quantite ;$i=$i+1) {$donnees[$i];}//et j'utilise $donnees[$i] comme varriable alors?if($donnees[$i]!= $ip){ //???
Théo B. Posté 10 Décembre 2006 Posté 10 Décembre 2006 <?php $fichier = fopen("conteur.txt", "a+");while (!feof($fichier)){ $contenu = fgets($fichier, 1000000); $donnees = explode("§i§",$contenu); $ip =$_SERVER["REMOTE_ADDR"]; foreach($donnees as $nom=> $valeur){ if($valeur!= $ip){ flock($fichier, LOCK_EX); fwrite($fichier, $ip); fwrite($fichier, "§i§"); flock($fichier, LOCK_UN); } else { //Là tu peux dire qu'il est déjà passé } }}fclose($fichier); ?>
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant