Array_search ou in_array qui ne fonctionne pa
Résolu
djflexlive
Messages postés
557
Date d'inscription
Statut
Membre
Dernière intervention
-
djflexlive Messages postés 557 Date d'inscription Statut Membre Dernière intervention -
djflexlive Messages postés 557 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Repostage d'un sujet précedent qui à été supprimé à ma demande (Merci Kilian)
Problème cité : Voici mon script qui ne fonctionne pas ... Le script n'arrives pas à trouver la valeur $ip dans le $contenu qui est un array établi d'après le contenu d'un fichier texte.
J'ai beau tourner la tartine dans tous les sens , je ne vois plus ... Help ! thanks :)
Ancien script :
Repostage d'un sujet précedent qui à été supprimé à ma demande (Merci Kilian)
Problème cité : Voici mon script qui ne fonctionne pas ... Le script n'arrives pas à trouver la valeur $ip dans le $contenu qui est un array établi d'après le contenu d'un fichier texte.
J'ai beau tourner la tartine dans tous les sens , je ne vois plus ... Help ! thanks :)
Ancien script :
<? if (!isset($_GET['id'])) { exit(); } else { $id=$_GET['id']; $ip = $_SERVER['REMOTE_ADDR']; // Script anti-triche $fichier = 'log_sites/'.$id.'.txt'; if (is_file($fichier)==TRUE) { echo 'fichier existant'; $contenu = file('log_sites/'.$id.'.txt'); print_r($contenu); $compteur = count($contenu); //echo $compteur; echo array_search($ip,$contenu); if (!array_key_exists($ip,$contenu)) { echo 'comptage out'; //echo array_search($ip,$contenu); //print_r ($contenu); include 'connect.php'; mysql_query(" UPDATE sites SET out_c=out_c+1 WHERE id='$id' "); mysql_close(); for($i=0;$i==$compteur;$i++) { $ecriture .= $contenu[$i]; } $ecriture = $ip."\n".$ecriture; $fp = fopen($fichier,"a+"); fwrite($fp, $ecriture); fclose($fp); } } else { echo 'fichier NON existant'; $fp = fopen($fichier,"a+"); fwrite($fp, $ip."\n"); fclose($fp); include 'connect.php'; mysql_query(" UPDATE sites SET out_c=out_c+1 WHERE id='$id' "); mysql_close(); } } ?>
1 réponse
Problème résolu grâce à Kilian (thanks !) , en modifiant la requete file :
file('log_sites/'.$id.'.txt');
Par :
file('log_sites/'.$id.'.txt', FILE_IGNORE_NEW_LINES);
Donc nouveau script :
file('log_sites/'.$id.'.txt');
Par :
file('log_sites/'.$id.'.txt', FILE_IGNORE_NEW_LINES);
Donc nouveau script :
<? if (!isset($_GET['id'])) { exit(); } else { $id=$_GET['id']; $ip = $_SERVER['REMOTE_ADDR']; // Script anti-triche $fichier = 'log_sites/'.$id.'.txt'; if (is_file($fichier)==TRUE) { $contenu = file('log_sites/'.$id.'.txt', FILE_IGNORE_NEW_LINES); $compteur = count($contenu); if (!in_array($ip,$contenu)) { include 'connect.php'; mysql_query(" UPDATE sites SET out_c=out_c+1 WHERE id='$id' "); mysql_close(); for($i=0;$i==$compteur;$i++) { $ecriture .= $contenu[$i]; } $ecriture = $ip."\n".$ecriture; $fp = fopen($fichier,"a+"); fwrite($fp, $ecriture); fclose($fp); } } else { $fp = fopen($fichier,"a+"); fwrite($fp, $ip."\n"); fclose($fp); include 'connect.php'; mysql_query(" UPDATE sites SET out_c=out_c+1 WHERE id='$id' "); mysql_close(); } } ?>