Récupérer et tester une chaine de caractères dans un fichier

Petit nouveau ! | 1 Messages

27 nov. 2006, 13:51

Bonjour,

Souhaitant réaliser un fichier verif_pass.php permettant de tester les login/password/droits utlisateurs SANS utiliser de BDD (utilisation d'un fichier .txt), j'aimererais connaître la manip consistant à récupérer puis à tester les éléments de la chaine (séparés par :) et de les comparer à ceux entrés via le formulaire (login, password).

ex du contenu du fichier.txt

login1:pass1:0
login2:pass2:1

...


Merci !

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

27 nov. 2006, 14:32

Bonjour,

Pour lire le fichier, il existe la fonction file() qui extrait le contenu d'un fichier et le place 1 ligne par indice.

Ensuite, tu peut executer une fonction comme array_map() qui va appliquer une fonction sur chaque ligne du tableau obtenu.

Cette fonction personnelle appliquée par array_map() devra utiliser un explode() sur le caractère ':' afin de séparer les différentes parties de chaque ligne et mettre les différents résultats dans des cases de tableau.
ATTENTION : la fonction file() conserve le caractère de fin de ligne '\r'. Il est donc très prudent d'appliquer un trim() sur chaque ligne du tableau avant traitement

Le tableau final pourra etre de cette forme :
membres[$login]['pass'] = $pass;
membres[$login]['actif'] = $actif; //A supposer que le 0 ou 1 correspondent à ça ...
Ensuite, pour vérifier qu'un login existe, tu peut utiliser
if (array_key_exists($login, $membres))
Et pour vérifier le mot de passe :
if ($pass_saisi == $membres[$login_saisi]['pass'])
Voilà, avec tout ça, tu devrait pouvoir avancer dans ce que tu demandes ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer