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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Récupérer et tester une chaine de caractères dans un fichier

par zeus » 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 ;)

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

par leo93 » 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 !