Bonjour a toutes et a tous !
Alors je me lance dans la POO et j'essaie de faire une partie authentification avec cette fameuse coquinette de POO !
J'ai donc un formulaire contenu dans log_tech.php :
La SESSION technicien viens de la page qui précède celle ci ou le user sélectionne son nom et celui ci apparait avec le champ du MDP en dessous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <?php //Condition if, si le boutons d'un nom des tech est activé alors le post deviens une session if (isset ($_POST['nom_acc'])) { $_SESSION['technicien'] = $_POST['nom_acc']; } echo "<pre>"; print_r($_GET); echo "</pre>"; echo "<pre>"; print_r($_SESSION); echo "</pre>"; //On affiche la valeur de la session echo '<em><center>' ; echo $_SESSION ['technicien'] ; echo '</center></em>'; ?> </h2> <form method="post" action="erreur.php"/> <input type="password" class="form-control" placeholder="Password" name="pass" value="<?php if (isset($_POST['pass']))echo htmlentities(trim($_POST['pass'])) ; ?>"><br /> <br /> <input type="submit" name="connexion" class="btn btn-primary btn-lg btn-block" value="Connexion"> </form>
Ensuite, j'ai une page appelée erreur.class.php :
Et enfin, la page de traitement, erreur.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <?php require_once "connexionBDD.class.php"; require_once "technicien.class.php"; class Erreur { public function getNomPass () { $connexion = new ConnexionBDD() ; $resultats=$connexion->query('SELECT count(*) as nb FROM `technicien` WHERE `Nom` = "'.$_SESSION['technicien'].'" AND `pass_md5` = PASSWORD( "toto" )'); // on va chercher tous les tech de la table $ligne = $resultats->setFetchMode(PDO::FETCH_OBJ); //On retourne les resultats sous forme d'objets $resultats->closeCursor(); // on ferme le curseur des résultats } } ?>
Le problème est que quoi que j'entre comme MDP il accede a la page lcesa.php ..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 <?php // on teste si le visiteur a soumis le formulaire de connexion if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { if(!empty($_POST['pass']) && !empty($_SESSION['technicien'])) { if (isset ($_POST['pass'])) { $_SESSION['pass']=$_POST['pass'] ; $pass=$_SESSION['pass']; } $nomPassReq = new Erreur() ; $resultPass = $nomPassReq->getNomPass() ; // si on obtient une réponse, alors l'utilisateur est un membre if ($resultPass['nb']=1) { $_SESSION['log_tech'] = 1 ; header('Location: LCEsa.php'); } // si on ne trouve aucune réponse, le visiteur s'est trompé dans son mot de passe else { //Envoi du get erreur dans l'url et redirection pour l'afficher et revenir au log $_SESSION['log_tech'] = 0; $erreur=" Le mot de passe est faux"; header('Location: log_tech.php?erreur=' . urlencode($erreur) ); } } else { //Envoi du get erreur 2 dans l'url et redirection pour l'afficher et revenir au log $erreur2=" L'un des champs est vide"; header('Location: log_tech.php?erreur2=' . urlencode($erreur2) ); } } ?>
Je ne comprend pas d'où vient le problème ? Requête ? Variables ? Objet ? Tout sa en même temps ?
Donc je viens a vous dans l'espoir d'avoir un peu d'aide les loulous des bisous !
Partager