Gérer la connexion des administrateurs et des ulilisateurs
dodi
-
ThEBiShOp Messages postés 9307 Date d'inscription Statut Contributeur Dernière intervention -
ThEBiShOp Messages postés 9307 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai une base de données "ma_base" dont j'ai deux tables , une des membres et l'autre des administrateurs (je sais si c'est faisable)
mais j'arrive pas à gérer les session et identifier si c'est un admin ou non pour le rediriger à des "home1.html" alors que le membre vers "home2.html" ,voilà le début de mon code , la première partie du connect.php est fausse et il faut que j'ajoute des conditions ou? jai aucune idée :(
<html>
<head>
<title></title>
</head>
<body>
<form method="post" action="connect.php">
<p>Votre pseudo</p>
<input type="text" name="pseudo" placeholder="pseudo" /> <br>
<p>Votre mot de passe</p>
<input type="pass" name="pass" placeholder="Entrez votre mot de passe" /> <br> <br>
<p>email</p>
<input type="submit" name="submit" value="Se connecter">
</form>
</body>
</html>
<?php
$pass_hache = sha1($_POST['pass']);
$req = $bdd->prepare('SELECT id FROM membres WHERE pseudo = :pseudo AND pass = :pass');
$req->execute(array(
'pseudo' => $pseudo,
'pass' => $pass_hache));
$resultat = $req->fetch();
if (!$resultat)
{
echo 'Mauvais identifiant ou mot de passe !';
}
else
{
session_start();
$_SESSION['pseudo'] = $pseudo;
echo 'Vous êtes connecté !';
}
Votre aide s'il vous plait
j'ai une base de données "ma_base" dont j'ai deux tables , une des membres et l'autre des administrateurs (je sais si c'est faisable)
mais j'arrive pas à gérer les session et identifier si c'est un admin ou non pour le rediriger à des "home1.html" alors que le membre vers "home2.html" ,voilà le début de mon code , la première partie du connect.php est fausse et il faut que j'ajoute des conditions ou? jai aucune idée :(
<html>
<head>
<title></title>
</head>
<body>
<form method="post" action="connect.php">
<p>Votre pseudo</p>
<input type="text" name="pseudo" placeholder="pseudo" /> <br>
<p>Votre mot de passe</p>
<input type="pass" name="pass" placeholder="Entrez votre mot de passe" /> <br> <br>
<p>email</p>
<input type="submit" name="submit" value="Se connecter">
</form>
</body>
</html>
<?php
$pass_hache = sha1($_POST['pass']);
$req = $bdd->prepare('SELECT id FROM membres WHERE pseudo = :pseudo AND pass = :pass');
$req->execute(array(
'pseudo' => $pseudo,
'pass' => $pass_hache));
$resultat = $req->fetch();
if (!$resultat)
{
echo 'Mauvais identifiant ou mot de passe !';
}
else
{
session_start();
$_SESSION['pseudo'] = $pseudo;
echo 'Vous êtes connecté !';
}
Votre aide s'il vous plait
2 réponses
-
Salut,
pour faire ce genre de chose, le plus simple est d'avoir une seule table "utilisateurs" dans laquelle tu as un champs "admin" que tu mets à 1 ou 0 suivant ce que tu veux, tu réalises la connexion de tes utilisateurs, et une fois la connexion validée, tu vérifies s'il s'agit d'un admin ou non, et là tu rediriges vers la page de ton choix. -
Un truc du genre (en reprenant ton code...)
<html> <head> <title></title> </head> <body> <form method="post" action="connect.php"> <p>Votre pseudo</p> <input type="text" name="pseudo" placeholder="pseudo" /> <br> <p>Votre mot de passe</p> <input type="pass" name="pass" placeholder="Entrez votre mot de passe" /> <br> <br> <p>email</p> <input type="submit" name="submit" value="Se connecter"> </form> </body> </html> <?php $pass_hache = sha1($_POST['pass']); $req = $bdd->prepare('SELECT id, admin FROM membres WHERE pseudo = :pseudo AND pass = :pass'); $req->execute(array( 'pseudo' => $pseudo, 'pass' => $pass_hache)); $resultat = $req->fetch(); if (!$resultat) { echo 'Mauvais identifiant ou mot de passe !'; } else { $_SESSION['pseudo'] = $pseudo; $_SESSION['id'] = $resultat['id']; if ($resultat['admin']) { header('Location: http://chemin.vers.page/admin.php/'); } else { header('Location: http://chemin.vers.page/utilisateur.php/'); } }
Je n'ai pas testé, à toi d'adapter.