Comment ajouter un niveau d'accès utilisateur dans la fonction de connexion PHP
<p>J'ai développé un script de connexion/enregistrement PHP qui, lorsqu'un utilisateur se connecte, démarre une session et crée un cookie, puis redirige l'utilisateur vers Dashboard.php en utilisant : </p>
<pre class="brush:php;toolbar:false;">//obtenir des données dans des variables
$emailAddress = mysqli_real_escape_string($conn,$_POST['emailAddress']);
$mot de passe = mysqli_real_escape_string($conn,$_POST['mot de passe']);
$remember = isset($_POST['rememberMe']);
if(!filter_var($emailAddress, FILTER_VALIDATE_EMAIL)) {
$error = 'Veuillez entrer une adresse e-mail valide.';
}
elseif(email_exists($emailAddress,$conn)) { // si l'adresse e-mail existe
$result = mysqli_query($conn,"SELECT password FROM users WHERE email = '$emailAddress'");
$retrievePassword = mysqli_fetch_assoc($result);
if(!password_verify($password,$retrievePassword['password'])) // si le mot de passe ne correspond pas
{
$error = 'Le mot de passe est incorrect.';
} else { // si le mot de passe est correct, connectez l'utilisateur
$_SESSION['email'] = $emailAddress;
if($remember == 'on') { // si "garder l'utilisateur connecté" était coché
setcookie("email",$emailAddress,time()+7200); // garde l'utilisateur connecté pendant 2 heures
}
header("emplacement : tableau de bord.php");
}
} else { // si l'e-mail n'existe pas
$error = 'Adresse e-mail non enregistrée.';
}</pré>
<p>En haut de toutes mes pages restreintes (par exemple, tableau de bord.php), j'ai : </p>
<pre class="brush:php;toolbar:false;">if(logged_in()) { // si l'utilisateur est connecté, afficher la page</pre>
La fonction <p>logged_in() est : </p>
<pre class="brush:php;toolbar:false;">fonction log_in(){
if(isset($_SESSION['email']) || isset($_COOKIE['email'])) {
renvoie vrai ;
} autre {
renvoie faux ;
}
}</pré>
<p>Dans la base de données, j'ai une colonne intitulée <code>usrUserTypeNo</code> qui contient "1" pour l'administrateur et "3" pour les utilisateurs réguliers.
Comment puis-je intégrer ce type d'utilisateur dans la session afin de pouvoir déterminer quel contenu est présenté à l'utilisateur en fonction de son rôle ? </p>