Système d'authentification POO
Bonjour,
Je me heurte aujourd'hui à un petit problème au niveau de la validation ou non d'un accès authentifié à une page.
J'ai divisé mon code en plusieurs parties :
Une classe identification.php qui est mon modèle, en interaction avec ma BDD :
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
|
<?php
//
class identification extends bddmanager
{
public function connexion($pseudo, $password)
{
$bdd = $this->bdd;
if(isset($_POST) && !empty($_POST['pseudo']) && !empty($_POST['password'])) {
extract($_POST);
// on recupère le password de la table qui correspond au login du visiteur
$query = "SELECT * FROM t_authentification WHERE AUT_PSEUDO=" . $_POST['pseudo'];
$req = $bdd->prepare($query);
$req->execute();
while ($row = $req->fetch(PDO::FETCH_ASSOC)) {
if (row['AUT_PASSWORD'] != $_POST['password']) {
echo 'Mauvais login / password. Merci de recommencer';
} else {
session_start();
header('Location: index.php?action=auteur');
}
}
}
else {
echo 'Vous avez oublié de remplir un champ.';
}
}
} |
Un controleur administration.php :
Code:
1 2 3 4 5 6 7 8 9
|
class Administration
{
public function connectAdmin($pseudo, $password){
$ei = new identification;
$ei->connexion($pseudo, $password);
}
} |
Et enfin, ma vue associée :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
<?php
include_once(PARTIAL . '_head.php');
include_once(PARTIAL . '_nav.php');
?>
<div id="contenu">
<h1>Formulaire de connexion</h1>
<form id="commentaire_form" action='index.php?action=connectAdmin' method="POST" enctype="multipart/form-data">
<label>Pseudo: <br /><input type="text" name="pseudo"/></label><br/>
<label>Mot de passe: <br /><input type="password" name="password"/></label><br/>
<br /><input type="submit" value="Connexion"/>
</form>
</div> |
Le tout devrait, si l'authentification est réussie, me rediriger vers une page editeur.php.
Or, aujourd'hui, quoique je rentre comme données, j'arrive sur un écran blanc, sans plus d'informations... (Même pas de message d'erreur... :'()
Au niveau de mon petit bout de code dans ma BDD, ça donne ça :
Code:
1 2 3
|
insert into T_AUTHENTIFICATION(AUT_PSEUDO, AUT_PASSWORD, AUT_EMAIL) VALUES
( 'test', 'test', 'test@gmail.com'); |
Je pense que mon souci se passe au niveau des variables, je ne les passe peut-être pas au bon endroit, mais je n'arrive pas à trouver le souci...
Merci d'avance si vous avez des idées, je suis preneur de tout :D