Bonjour, après avoir eu une grand d'aide de membre confirmer sur ce forum j'aimerais savoir une ou 2 chose.
Avec ce code puis-je faire une sorte de grade genre le membre a le niveau : 1 sa cache le bouton administration et l'administrateur le niveau : 2
avec cette base je c'est déja programmer la partie administration de mon site internet !. ( Le nom que je donne à ma base de donée et niveau donc le niveau du membre 1 ou 2) !.
<?php
if(!empty($_POST)){
$identifiant = $_POST'identifiant'];
$passe = md5($_POST'passe']);
$q = array('identifiant'=>$identifiant, 'passe'=>$passe);
$sql = 'SELECT identifiant,passe FROM me_utilisateur WHERE identifiant = :identifiant AND passe = :passe';
$req = $cnx->prepare($sql);
$req->execute($q);
$count = $req->rowCount($sql);
if($count == 1){
//Verifier si l'utilisateur est actif
$sql = 'SELECT identifiant,passe FROM me_utilisateur WHERE identifiant = :identifiant AND passe = :passe AND etat = 1';
$req = $cnx->prepare($sql);
$req->execute($q);
$actif = $req->rowCount($sql);
if($actif == 1){
$_SESSION'Auth'] = array(
'identifiant' => $identifiant,
'passe' => $passe,
);
if($actif == 1){
$_SESSION'identifiant'] = $identifiant;
header('Location:index.php');
}
}else{
$error_actif = 'Votre compte n\'est pas actif ! Verifier vos mails pour activer votre compte !';
}
}else{
//Si utilisateur inconnu
$error_unknown = 'Votre Identifiant ou Mot de passe ne sont pas bon !';
}
}
?>
Peut être que tu devrais reprendre les bases de PDO ...
site du zero ?
Pour récupérer une valeur, tu dois "fetcher" ton résultat de la sorte :
$sql = 'SELECT identifiant,passe,email FROM me_utilisateur WHERE identifiant = :identifiant AND passe = :passe AND etat = 1';
$req = $cnx->prepare($sql);
$req->execute($q);
$req->fetch();
J'ai trouver la reponse à ma question vraiment génial ce site internet !.
Bien sur, rajoute dans ta base de donnée le champ "rang" de type int (1 => visiteur, 2= admin, 3 = master )
Quand l'utilisateur est connecté, reste plus qu'a faire un petit switch (c'est un exemple, il existe d'autres possibilités) :
$_SESSION'rang'] = 1
switch ($_SESSION'rang']
{
case 1:echo 'Vous êtes simple visiteur';
break;
case 2:echo 'Vous êtes un administrateur';
break;
case 3:echo 'Bonjour au maitre du site !';
break;
}
Bonjour,
à ta place je changerai le champ "etat" par "rang":
0 => pas actif
1 => visiteur
2 => admin
3 => master
..etc
Donc si l'utilisateur est actif, sont rang est strictement supérieure à 0.
Et donc le code pour mettre sur le bonton je pence qu'il y ais un truc a faire du genre avec ce code la => 3
<?php if(isset($_SESSION'rang']) => 3 ):?>
<?php else:?>
<li class="dropdown">
<a href="admin.php" style="cursor:crosshair"> Administration </a>
<?php endif;?>
Et ou placer ce code çi que tu ma donner
$_SESSION'rang'] = 1
switch ($_SESSION'rang']
{
case 1:echo 'Vous êtes simple visiteur';
break;
case 2:echo 'Vous êtes un administrateur';
break;
case 3:echo 'Bonjour au maitre du site !';
break;
}
J'ai donc essayer par exemple de récuperer mon email en requète mai rien ne vient
<?php
if(!empty($_POST)){
$identifiant = $_POST'identifiant'];
$passe = md5($_POST'passe']);
$q = array('identifiant'=>$identifiant, 'passe'=>$passe);
$sql = 'SELECT identifiant,passe,email FROM me_utilisateur WHERE identifiant = :identifiant AND passe = :passe';
$req = $cnx->prepare($sql);
$req->execute($q);
$count = $req->rowCount($sql);
if($count == 1){
//Verifier si l'utilisateur est actif
$sql = 'SELECT identifiant,passe,email FROM me_utilisateur WHERE identifiant = :identifiant AND passe = :passe AND etat = 1';
$req = $cnx->prepare($sql);
$req->execute($q);
$actif = $req->rowCount($sql);
if($actif == 1){
$_SESSION'Auth'] = array(
'identifiant' => $identifiant,
'passe' => $passe,
<strong>//pas besoin d'inserer e-mail ici</strong>
);
if($actif == 1){
$_SESSION'identifiant'] = $identifiant;
$_SESSION'email'] = $email;
header('Location:index.php');
}
}else{
$error_actif = 'Votre compte n\'est pas actif ! Verifier vos mails pour activer votre compte !';
}
}else{
//Si utilisateur inconnu
$error_unknown = 'Votre Identifiant ou Mot de passe ne sont pas bon !';
}
}
?>
Oui je pence personnellement je suis caler mysql pur mai la sécuriter ma dit de passer sur le PDO qui et beaucoup plus léger je vais songer a revoir ce fameux site du zéro mericu de ta réponse !.