Connexion déconnexion

Chooper01

Chooper01 Le 22 août 2016 à 00:07 (Édité le 25 janvier 2019 à 17:52)

Bonsoir voila ma question peut être bête mais je vois pas comment la résoudre...

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

FireTrigger Le 22 août 2016 à 00:09

Salut à toi ! 

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

Chooper01 Le 22 août 2016 à 00:11

Salut merci de ta réponse rapide bah j'ai toujours pas compris..
Ce que je ne comprends pas c'est ou que je dois mettre cette ligne de code ? dans tous mes fichier ? 
FireTrigger

FireTrigger Le 22 août 2016 à 00:19

C'est simple regarde je te fait un exemple: 
 <?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

FireTrigger Le 22 août 2016 à 00:20

Et oui tu dois le mettre dans les pages où c'est nécessaire, à toi de voir par rapport à ton site
Chooper01

Chooper01 Le 22 août 2016 à 00:23

Ah voila je vois mieux la .. 
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

Chooper01 Le 22 août 2016 à 00:25 (Édité le 22 août 2016 à 00:27)

Enfaîte non j'ai toujours le soucis de faire disparaître le connexion / inscription de toute mes pages en Déconnexion ....
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

FireTrigger Le 22 août 2016 à 00:30

nan pas de problème
FireTrigger

FireTrigger Le 22 août 2016 à 00:32

ajoute moi, il y a mon skype sur mon profil
Chooper01

Chooper01 Le 22 août 2016 à 00:36

Fais et encore merci !
TheOldNoob

TheOldNoob Le 22 août 2016 à 00:37

Salut l'ami !

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

Chooper01 Le 22 août 2016 à 00:40

Salut à toi , 

Je te dis un grand merci pour ce code :o 
TheOldNoob

TheOldNoob Le 22 août 2016 à 00:44

Aucun problème, je prend 3% des revenues de ton site 😋
Chooper01

Chooper01 Le 22 août 2016 à 00:46

Nop tous sera pour moi tel Picsou !8|
Balatharas

Balatharas Le 22 août 2016 à 10:34

Hello tu peux mettre le topic en résolu si c'est le cas ^^
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte