Authentification, formulaire [POO]
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 :
Code:
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> |
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.
Ensuite, j'ai une page appelée erreur.class.php :
Code:
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
}
}
?> |
Et enfin, la page de traitement, erreur.php :
Code:
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) );
}
}
?> |
Le problème est que quoi que j'entre comme MDP il accede a la page lcesa.php ..
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 !