Connexion déconnexion
- Accueil
- Forum
- Programmation
- PHP
- Connexion déconnexion
![Chooper01](/public/uploads/membres/avatars/default.jpg)
Chooper01 Le 22 août 2016 à 00:07 (Édité le 25 janvier 2019 à 17:52)
Voila je crée un site web et je voudrais que quand la personne ce connecte elle soit rediriger vers "index.php" et au lieu que ce soit écrit " Inscription / se connecter " ce soit tous simplement écrit Déconnexion / Mon Profil sur toute les pages .. Je sais vraiment pas comment m'y prendre ... Je vous mets mon code de "connexion.php" :
<?php
try
{
$bdd = new PDO("mysql:host=localhost;dbname=cuisine;charset=utf8", "**", "***", array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
} catch (PDOException $e)
{
echo 'Echec de la connexion : ' . $e->getMessage();
exit;
}
if (isset($_POST['formconnect']))
{
$pseudoconnect = htmlspecialchars($_POST['pseudoconnect']);
$mdpconnect = sha1($_POST['mdpconnect']);
if (!empty($pseudoconnect) AND !empty($mdpconnect))
{
$requser = $bdd->prepare("SELECT * FROM membres WHERE pseudo = ? AND mdp = ? ") ;
$requser->execute(array($pseudoconnect, $mdpconnect)) ;
$userexist = $requser->rowcount() ;
if($userexist == 1)
{
}
else
{
$erreur =" Pseudo ou mots de passe incorrect !" ;
}
}
else
{
$erreur = "Tous les champs doivent être remplis ! " ;
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Coco-Minute</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href ="style/connexion.css" / >
<link rel="icon" type="image/png" href="images/favicon.png" />
</head>
<body>
<div id="banner1">
<div id="logo"><a href="index.php"> <img src="images/cocominute.gif"></a> </div>
<h1><a href="index.php">Coco-Minute</a></h1>
</div>
<div id="menu">
<ul>
<li><a href="index.php">Accueil</a></li>
<li><a href="ajouter.php">Ajouter une recette</a></li>
<li><a href="recettes.php">Recettes</a></li>
<li><a href="contact.php">Nous contacter</a></li>
<li> <a href="inscription.php">S'inscrire</a></li>
<li> <a href="connexion.php">Connexion</a></li>
</ul>
</div>
<div id="formu">
<fieldset>
<legend> Connexion</legend>
<form id="bouton" method="POST" action="">
<input type="text" name="pseudoconnect" placeholder="Pseudo" size="25"/> <br>
<input type="password" name="mdpconnect" placeholder="Mots de Passe" size="25"/> <br>
<input type="submit" name="formconnect" placeholder="Envoyer" value="Connexion" /> <br />
</form>
<?php if (isset($erreur))
{
echo $erreur ;
}
?>
</fieldset>
</div>
<div id="Footer">
<p>Tous droits réservé à Coco-Minute !</p>
</div>
</body>
</html>
Merci .. Je suis vraiment désespérer car je vois vraiment pas comment je peux faire j'ai beau regarder des tutos je ne comprends pas cette partie .. ![FireTrigger](/public/uploads/membres/avatars/default.jpg)
FireTrigger Le 22 août 2016 à 00:09 (Édité le 1 janvier 1970 à 01:00)
Il suffit d'utiliser ce petit code :
<?php if (isset($_SESSION['id'])) { ?>
Et ensuite tu met le lien de ta page "profil" etc... Redemande si tu n'as pas tout compris ! ![Chooper01](/public/uploads/membres/avatars/default.jpg)
Chooper01 Le 22 août 2016 à 00:11 (Édité le 1 janvier 1970 à 01:00)
Ce que je ne comprends pas c'est ou que je dois mettre cette ligne de code ? dans tous mes fichier ?
![FireTrigger](/public/uploads/membres/avatars/default.jpg)
FireTrigger Le 22 août 2016 à 00:19 (Édité le 1 janvier 1970 à 01:00)
<?php if (isset($_SESSION['id'])) { ?>
<li><a href="index.php"> Accueil </a></li>
<li><a href="recettes.php"></a></li>
etc...
<li><a href="profil.php"> Accueil </a></li>
<li><a href="déconnexion.php"></a></li>
<?php }
else { ?>
<li><a href="index.php"> Accueil </a></li>
<li><a href="recettes.php"></a></li>
etc...
<li><a href="connexion.php"> Accueil </a></li>
<li><a href="inscription.php"></a></li>
<?php } ?>
En gros si il est connecté, il verra la page profil et otu ce que tu veux d'autres, et s'il ne l'ai pas et bien il verra connexion etc... 😀 ![FireTrigger](/public/uploads/membres/avatars/default.jpg)
FireTrigger Le 22 août 2016 à 00:20 (Édité le 1 janvier 1970 à 01:00)
![Chooper01](/public/uploads/membres/avatars/default.jpg)
Chooper01 Le 22 août 2016 à 00:23 (Édité le 1 janvier 1970 à 01:00)
Donc je créé la Session[id] dans connexion ou quand il ce connecte je le dirige vers l’accueil ou il verra Déconnexion c'est ça ?
![Chooper01](/public/uploads/membres/avatars/default.jpg)
Chooper01 Le 22 août 2016 à 00:25 (Édité le 22 août 2016 à 00:27)
Sa te dérange si nous pouvons aller sur skype pour que je t’envoie tous mes fichier pour m'expliquer + en détails ? :(
( Je sais, je suis chiant mais c'est la 1er fois ou j'ai du mal a comprendre ... )
Merci encore
![FireTrigger](/public/uploads/membres/avatars/default.jpg)
FireTrigger Le 22 août 2016 à 00:32 (Édité le 1 janvier 1970 à 01:00)
![TheOldNoob](/public/uploads/membres/avatars/min/1986-0c823e5577404f4bbb238fbf034f1c8e.jpg)
TheOldNoob Le 22 août 2016 à 00:37 (Édité le 1 janvier 1970 à 01:00)
Bon comme il est tard et que j'ai la fleme 😀 et que je suis un devloppeur faignasse !
Je te met le code que j'utilise pour se connecter.
Dedans tu trouvera tout ce qu'il faut pour protéger la connexion de tes utilisateurs. Preg_match rigolo, hashage au top (sha1 c'est le mal 😋), redirection vigousse tel un videur de boite de nuit vers la page accueil.php...
A toi d'adapté 😉
$post = [];
$error = [];
$mdpValide = false;
$errorSession = false;
if(!empty($_POST)){//01
$post = array_map('strip_tags', $_POST);
$post = array_map('trim', $post);
// On vérifie que le nom est au bon format
if(!preg_match ( "#^[a-zA-Z0-9]{3,20}$#" , $post['nickname'] )){
$error[] = '<div class="alert alert-danger text-center">Le couple identifiant/mot de passe est invalide</div>';
}
if(!isset($post['password']) && !empty($post['password'])){
$error[] = '<div class="alert alert-danger text-center">Le couple identifiant/mot de passe est invalide</div>';
}
if(count($error) == 0){//02
$select = $pdo->prepare('SELECT * FROM users WHERE nickname = :checkName');//
$select->bindValue(':checkName', $post['nickname']);
if($select->execute()){//03
$user = $select->fetch();//contient notre utilisateur relatif au le nom
if(!empty($user)){//04
// on vérifie le mot de passe saisi et le mot de passe hashé
if(password_verify($post['password'], $user['password'])){
//ici le mot de passe est valide
$mdpValide = true;
session_start();//permet de demarrer la session
$_SESSION['user'] = [
'id' => $user['id'],
'nickname' => $user['nickname'],
'role' => $user['role'],
];
//je redirige vers la page "accueil.php"
header('Location: view_accueil.php');
die;
}
else {
// Le mot de passe est invalide
$error[] = '<div class="alert alert-danger text-center">Le couple identifiant/mot de passe est invalide</div>';
}
}//fin 04
else {
//utilisateur inconnu
$error[] = '<div class="alert alert-danger text-center">Le couple identifiant/mot de passe est invalide</div>';
}
}//fin 03
}//fin 02
}//fin 01
if(count($error)!=0){
foreach ($error as $key => $value) {
echo $value.'<br>';
}
}
Pour la déconnexion, c'est assez simple, si tu n'utilise pas de cookie, dés qu'un utilisateur quitera le site, il sera déco par la fin de la session 😄 ![Chooper01](/public/uploads/membres/avatars/default.jpg)
Chooper01 Le 22 août 2016 à 00:40 (Édité le 1 janvier 1970 à 01:00)
Je te dis un grand merci pour ce code :o
![TheOldNoob](/public/uploads/membres/avatars/min/1986-0c823e5577404f4bbb238fbf034f1c8e.jpg)
TheOldNoob Le 22 août 2016 à 00:44 (Édité le 1 janvier 1970 à 01:00)
![Chooper01](/public/uploads/membres/avatars/default.jpg)
Chooper01 Le 22 août 2016 à 00:46 (Édité le 1 janvier 1970 à 01:00)
![Balatharas](/public/uploads/membres/avatars/min/379-3ecf3fd072caf24b39511b27c789f57c.jpg)
Balatharas Le 22 août 2016 à 10:34 (Édité le 1 janvier 1970 à 01:00)