J'ai vraiment besoin d'aide sir ce coup la ...
Mon code :
<?php
session_start();
$path = $_SERVER['PHP_SELF'];
$page = basename ($path);
$host_name = 'db*********************';
$database = 'db************';
$user_name = 'db*********';
$password = '**********';
$dbcomptes = null;
try {
$dbcomptes = new PDO("mysql:host=$host_name; dbname=$database;", $user_name, $password);
} catch (PDOException $e) {
echo "Erreur!: " . $e->getMessage() . "<br/>";
// die();
}
$MessageLogIn = '';
$MessageRegister = '';
if(!empty($_POST['EmailLogin']) && !empty($_POST['PasswordLogin']))
{
$login = $dbcomptes->prepare('SELECT * FROM comptes WHERE email = ?');
$login->execute(array($_POST['EmailLogin']));
$donnees = $login->fetch();
$password = $_POST['PasswordLogin'];
$isPasswordCorrect = password_verify($password, $donnees['password']);
if ($isPasswordCorrect)
{
$_SESSION['Prenom'] = $donnees['prenom'];
$_SESSION['Nom'] = $donnees['nom'];
$_SESSION['id'] = $donnees['id'];
$_SESSION['Email'] = $donnees['email'];
$_SESSION['Connected'] = 1;
setcookie('email', $donnees['email'], time() + 2*3600, null, null, false, true);
setcookie('id', $donnees['id'], time() + 2*3600, null, null, false, true);
setcookie('prenom', $donnees['prenom'], time() + 2*3600, null, null, false, true);
setcookie('nom', $donnees['nom'], time() + 2*3600, null, null, false, true);
setcookie('pass', $donnees['password'], time() + 2*3600, null, null, false, true);
setcookie('connect', 1, time() + 2*3600, null, null, false, true);
$MessageLogIn = 'Vous étes bien connécté ! Bienvenue ' . $_SESSION['Prenom'] . '!';
}
else
{
$MessageLogIn = 'Le couple mot de passse / E-Mail ne correspond pas !';
}
}
}
elseif (!empty($_POST['Prenom']) && !empty($_POST['Nom']) && !empty($_POST['Email']) && !empty($_POST['Password']) && !empty($_POST['PasswordRepeat']))
{
$prenom = $_POST['Prenom'];
$nom = $_POST['Nom'];
$email = $_POST['Email'];
$passwd = $_POST['Password'];
$passwdRepeat = $_POST['PasswordRepeat'];
$register = $dbcomptes->prepare('SELECT EXISTS (SELECT * FROM comptes WHERE email= ?)');
$register->execute(array($email));
$resultat = $register->fetchColumn();
if($resultat == 1)
{
$MessageRegister = 'L\'e-mail est déjà utilisé !';
}
else
{
if ($passwd == $passwdRepeat){
$password = password_hash($passwd, PASSWORD_DEFAULT);
$req = $dbcomptes->prepare('INSERT INTO comptes(password, email, prenom, nom, perm_lvl) VALUES(:password, :email, :prenom, :nom, :perm_lvl)');
$req->execute(array(
'password' => $password,
'email' => $email,
'prenom' => $prenom,
'nom' => $nom,
'perm_lvl' => 1
));
$MessageRegister = 'Votre compte est bien crée !';
}
else {
$MessageRegister = 'Les deux mots de passe ne correspondent pas !';
}
}
}
elseif (!empty($_POST['Prenom']) || !empty($_POST['Nom']) || !empty($_POST['Email']) || !empty($_POST['Password']) || !empty($_POST['EmailLogin']) || !empty($_POST['PasswordLogin']))
{
$MessageLogIn = 'Veuillez entrer tout les parametres !';
$MessageRegister = $MessageLogIn;
}
?>
je l'utilise ici pour mes boutons déconnexion ect. à savoir que la page logout.php n'est jamais sollicitée sauf si on appuie sur déconnexion..<?php
if (!empty($_SESSION['id']))
{
$nom = $_SESSION['Nom'];
$prenom = $_SESSION['Prenom'];
$id = $_SESSION['id'];
$email = $_SESSION['Email'];
echo '<li><a style="border-radius: 6px; background-color: red;" href="logout" class="play-icon">Logout</a></li>';
echo '<li><a style="border-radius: 6px; background-color: orange;" href="panel/index" data-toggle="modal" class="play-icon">Gestion</a></li>';
echo '<li><a style="border-radius: 6px; background-color: grey; border: 1px solid black;" href="#" data-toggle="modal" class="play-icon">' . $prenom . '</a></li>';
}
else
{
echo '<li><a href="#myModal2" data-toggle="modal" class="play-icon">Connexion</a></li>';
}
?>
Merci d'avance !