Lecture fichier

Lecture fichier - PHP - Programmation

Marsh Posté le 17-11-2006 à 10:27:32    

Bonjour,
 
J'ai fait un petit script pour afficher des "en ligne / hors ligne" sur mon site, cependant quelque chose cloche...
 

Code :
  1. function enligne($nom)
  2. {
  3. $enligne=false;
  4. $sql=mysql_query("SELECT ip_membre FROM membres WHERE pseudo='".$nom."' LIMIT 1" );
  5. $data=mysql_fetch_array($sql);
  6. $compteur_live = file($GLOBALS['file_live']);
  7. if(in_array($data['ip_membre'],$compteur_live))
  8.  $enligne=true;
  9. return $enligne;
  10. }


 
Voilà donc une fonction qui a chaque affichage de membre, verifie son état par rapport à un fichier txt qui est mis à jour en fonction des visiteurs
Le fichier txt est de type :
1163755289
xx.xx.xx.xx
1163755311
yy.yy.yy.yy
 
-> 1 ligne pour l'heure, 1 ligne pour l'ip
 
Si quelqu'un voit mon erreur... Chui preneur :)
 
Merci ! ++

Reply

Marsh Posté le 17-11-2006 à 10:27:32   

Reply

Marsh Posté le 17-11-2006 à 10:40:44    

à première vue : $_GLOBALS et non $GLOBALS
 
remarques :
- pas de gestion d'erreurs ??
- une requête pour chaque membre c'est un peu lourd

Reply

Marsh Posté le 17-11-2006 à 10:46:09    

Nop

Citation :


Variables globales : $GLOBALS
Note : $GLOBALS est disponible depuis PHP 3.0.0.


;)
 
Sinon pour les erreurs, déjà c'est vrai que j'ai oublié de dire quel était réellement mon problème :
 
Ca affiche 'en ligne' que pour l'ip qui regarde le site, si les autres sont en ligne (visible dans le fichier txt) ils sont affichés 'hors ligne'
Mais aucune erreur spéciale
 
une requete pour chaque membre c'est lourd oué :/ mais j'ai pas eu d'autre idée..

Reply

Marsh Posté le 17-11-2006 à 11:29:13    

oups mea culpa
 
sinon je pense que c'est un pb de retour à la ligne (voir doc file)

Reply

Marsh Posté le 17-11-2006 à 17:00:56    

En gros j'ai :
$ip = "xx.xx.xx.xx";
 
print_r($tabip) qui donne [1] => xx.xx.xx.xx [2] => yy.yy.yy.yy [3] => zz.zz.zz.zz
 
et quand je fais un if(in_array($ip,$tabip))
bah ca donne en ligne juste pr celui qui regarde la page, les autres qui sont aussi en ligne sont marqués hors ligne ...


Message édité par zecoke le 17-11-2006 à 17:01:28
Reply

Marsh Posté le 17-11-2006 à 17:38:02    

as tu regardé la doc de file ?
 
http://fr.php.net/file

Citation :

Note :  Chaque élément du tableau résultat contiendra la nouvelle ligne de fin de chaîne. Il faudra donc utiliser rtrim() sur cette valeur pour la supprimer.

et 'xx.xx.xx.xx' n'est pas égal à 'xx.xx.xx.xx\n'
 
sur ce, bon week end ^^

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed