Connexion déconnexion
- Accueil
- Forum
- Programmation
- PHP
- Connexion déconnexion
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 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 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 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 Le 22 août 2016 à 00:20 (Édité le 1 janvier 1970 à 01:00)
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 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 Le 22 août 2016 à 00:32 (Édité le 1 janvier 1970 à 01:00)
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 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 Le 22 août 2016 à 00:44 (Édité le 1 janvier 1970 à 01:00)
Chooper01 Le 22 août 2016 à 00:46 (Édité le 1 janvier 1970 à 01:00)
Balatharas Le 22 août 2016 à 10:34 (Édité le 1 janvier 1970 à 01:00)