PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Forum Général PHP » verification couple login/mot de passe » 14-06-2010 07:38:26

ouhhhh les sessions qui à première vue semblent simple mais se révèlent difficile à l'application !
la solution est toutefois intéressante je vais essayer de plancher dessus, reste à ce sujet une petite question (après j'arrête !) : j'essaye justement d'intialiser une session[isPassValid'] à true une fois le visiteur authentifié.
Je passe sur le fait que cette session ne fonctionne pas ; ce que je ne comprends pas c'est que le navigateur me dit à chaque page :


Notice: A session had already been started - ignoring session_start() in C:\wamp\www\examen_juin_2006\addMatch.php on line 3

Pourtant il faut bien que je démarre le session_start() sur toutes les pages pour que la variable de session puisse être transmise, non ?

Ah ces débutants.....

#2 Re : Forum Général PHP » verification couple login/mot de passe » 14-06-2010 07:38:26

mon souci est que le visiteur, une fois authentifié ou non, doit alors retourner sur la page index pour continuer sa visite du site.
Enfin c'est pas grave je ne vais pas me lancer dans ajax j'ai déjà du mal avec PHP !
merci

#3 Re : Forum Général PHP » verification couple login/mot de passe » 14-06-2010 07:38:26

ça y'est j'ai réussi : ça marche !!!!! merci à tous big_smile
en revanche une petite question subsiste : comment faire pour que le echo"bienvenue...." s'affiche sur la même page que le formulaire et non sur une nouvelle page ?

merci,merci

#4 Re : Forum Général PHP » verification couple login/mot de passe » 14-06-2010 07:38:26

Bonjour,

c'est bien la 2nde solution malheureusement : il n'y a rien juste le 1er couple inscrit. En revanche je pense que le script s'éxécute jusqu'au bout puisqu'il m'affiche le message d'erreur "mot de passe et/ou login incorrects".
pour les messages d'erreurs : j'en ai un qui s'affiche sur toutes les pages et qui concerne le session start()
pour le error reporting voilà ma configuration : ; error_reporting
;   Default Value: E_ALL & ~E_NOTICE
;   Development Value: E_ALL | E_STRICT
;   Production Value: E_ALL & ~E_DEPRECATED

Merci

#5 Re : Forum Général PHP » verification couple login/mot de passe » 14-06-2010 07:38:26

l'importance du navigateur c'est qu'en l'occurence cela ne marche pas chez moi !!!

merci quand même:)

#7 Re : Forum Général PHP » verification couple login/mot de passe » 14-06-2010 07:38:26

????? désolé mais je débute alors c'est quoi un environnement Mov'Amp ?
j'ai simplement testé sous firefox !

#8 Re : Forum Général PHP » verification couple login/mot de passe » 14-06-2010 07:38:26

Bonjour,

ça ne m'affiche donc que la 1ere ligne : florent::flo

merci

#9 Re : Forum Général PHP » verification couple login/mot de passe » 14-06-2010 07:38:26

Avec


foreach($tab as $key=>$val){   
  echo"<pre>";print_r($tab);echo"</pre>";
    list($l,$p)= explode("::",$val);
     echo " => ".$l." et ".$p."<br />";
 

ça me donne:
Array
(
    [0] => florent::flo

    [1] => mathieu::mash

    [2] => ines::tanger
)

=> florent et flo

#10 Re : Forum Général PHP » verification couple login/mot de passe » 14-06-2010 07:38:26

ça ne change rien à l'affichage, il n'y a toujours que la 1ere ligne d'affichée:(

#11 Re : Forum Général PHP » verification couple login/mot de passe » 14-06-2010 07:38:26

Encore merci
le problème vient donc du list !
lors du 1er affichage du tableau j'ai bien mes 3 couples login/pass
mais lors du 2nd affichage après le list($l,$p) = explode......
j'en ai deux qui sont passés à la trappe ! le problème vient donc peut être de mon fichier 'passwd.txt' j'y ai inscrit les couples comme ceci :
florent::flo
mathieu::mash
.....
est ce que c'est le retour à la ligne qu'il ne lit pas ?

#12 Re : Forum Général PHP » verification couple login/mot de passe » 14-06-2010 07:38:26

merci beaucoup pour le code mais il y a toujours un problème !
dans mon fichier "passwd.txt" j'ai plusieurs couple login/pass et le code n'accepte l'entrée qu'au 1er couple inscrit et non aux suivants ! retour à la case départ !
a++
Inès

#14 Re : Forum Général PHP » verification couple login/mot de passe » 14-06-2010 07:38:26

bon il faut que je me replonge dans les sessions alors !!

sinon que puis-je faire pour mon souci d'affichage ?

merci !

#15 Re : Forum Général PHP » verification couple login/mot de passe » 14-06-2010 07:38:26

merci,

mais maintenant le script m'affiche le message d'erreur et le message de bienvenue en même temps !! et l'ordre d'affichage diffère en fonction de la position du couple login/pass dans le fichier txt.

par ailleurs je ne comprends pas bien à quoi correspond cette variable $tmp ?

Inès

#17 Re : Forum Général PHP » verification couple login/mot de passe » 14-06-2010 07:38:26

Bonjour,

merci pour la bonne humeur !!!! 
désolé

etant donné que j'ouvre mon fichier texte avec file() le contenu est automatiquement mis dans un tableau , non ?

Inès

#18 Forum Général PHP » verification couple login/mot de passe » 14-06-2010 07:38:26

tanja
Réponses : 42

Bonjour,

je suis débutante en PHP et je bute sur un problème qui doit être bien simple à réaliser mais dont je ne trouve pas la solution :

-je dois vérifier le couple login/mot de passe. Ces derniers sont enregistrés dans un doc au format txt.
Mon problème est le suivant : quand je teste ce code il ne prend en compte que la 1ere ligne du document il n'y a donc qu'un seul utilisateur qui peut s'enregistrer, embêtant, non ?

voici mon code :


// récupération des données
$login = (isset($_POST['login']))? $_POST['login']:"";
$pass = (isset($_POST['pass']))? $_POST['pass']:"";

if(!empty($pass) && !empty($login)) {checkPass($login,$pass);} // verification du couple login pass en provenance du fichier

function checkPass($login,$pass) {
 
    $tab = file("passwd.txt");
   
    foreach($tab as $val){
    list($l,$p)= explode("::",$val);
   
    if(strtolower(trim($l)) == strtolower($login) && strtolower(trim($p)) == strtolower($pass))
      {
      echo "bienvenue";
      return true;
      $_SESSION['isPassValid'] = true; // initialisation de la variable de session   
      }
      else {echo "Le login et / ou le mot de passe ne sont pas corrects";
          return false;} 
      }
      }    
?>
 

dans le fichier texte les couples sont écrits :
login::pass
login::pass
etc...
pourquoi le foreach ne parcoure -t-il pas toutes les lignes du tableau ?
merci d'avance,
Inès

Pied de page des forums

Propulsé par FluxBB