Page 1 sur 1

comparaison d'un input et d'une ligne d'un fichier

Posté : 25 avr. 2012, 10:31
par Andalin
Bonjour a tous,

Je suis debutant en php et je me retrouve confronté a un probleme que je n'ais pas reussi a resoudre.

Tout dabord, voici mon code:
<?php
$element= $_POST['pseudo'];

$fp=fopen("/opt/lampp/htdocs/file.txt","r"); 

do{

$ligne=fgets($fp);

if($element==$ligne){
echo $ligne." est pareil que ".$element."<br />";
}

}while($ligne!=NULL);

fclose($fp);

?>
Ce que je voudrais faire, c'est voir si ce qu'une personne a rentrée dans le champ pseudo correspond a une des lignes d'un fichier texte.

mon probleme est que meme si $element et $ligne sont identiques (en faisant un echo, il y a le meme texte qui s'affiche), le programme ne passe pas dans mon if($element==$ligne).

Je me doute bien qu'ils ne doivent pas etre si identiques que sa, mais je n'arrive pas a trouver ce qui ne vas pas.
j'espere que quelqu'un pourra m'aider, ou au moins me metre sur la piste.

merci

Re: comparaison d'un input et d'une ligne d'un fichier

Posté : 25 avr. 2012, 11:24
par xTG
Ton fichier contient des retours à la ligne.
Il y a donc le caractère de retour à la ligne (\n ou même \r\n) qui rend ton test faux.
Donc soit tu le supprimes avant le test (str_replace par exemple), soit tu le rajoutes à la fin de l'élément à comparer.
Soit tu utilises une recherche par motif (preg_match et compagnie).

Re: comparaison d'un input et d'une ligne d'un fichier

Posté : 25 avr. 2012, 11:43
par Andalin
merci pour ta reponse, je vais voir sa de suite :)

edit: sa fonctionne, merci beaucoup