rester connecter sur une page

Ce topic a été résolu
joris1904

joris1904 Le 11 mai 2016 à 15:19 (Édité le 25 janvier 2019 à 17:51)

Bonjour je voudrais savoir comment resté connecté en changeant de page car a chaque coup que je change de page je suis déconnecté quelqu'un a une idée SVP 😀 

Page de connexion
<?php
    session_start();

    $bdd = new PDO('mysql:host=127.0.0.1;dbname=', '', '');

    if(isset($_POST['formconnexion'])) {
        $mailconnect = htmlspecialchars($_POST['mailconnect']);
        $mdpconnect = sha1($_POST['mdpconnect']);
        if(!empty($mailconnect) AND !empty($mdpconnect)) {
            $requser = $bdd->prepare("SELECT * FROM membres WHERE mail = ? AND motdepasse = ?");
            $requser->execute(array($mailconnect, $mdpconnect));
            $userexist = $requser->rowCount();
            if($userexist == 1) {
                $userinfo = $requser->fetch();
                $_SESSION['id'] = $userinfo['id'];
                $_SESSION['pseudo'] = $userinfo['pseudo'];
                $_SESSION['mail'] = $userinfo['mail'];
                header("Location: profil.php?id=".$_SESSION['id']);
            } else {
                $erreur = "Mauvais mail ou mot de passe !";
            }
        } else {
            $erreur = "Tous les champs doivent être complétés !";
        }
    }
    ?>
    <html>
    <head>
        <title>Connexion | Joris Vidéo</title>
        <meta charset="utf-8">
    </head>
    <body>
    <div align="center">
        <h2>Connexion</h2>
        <br /><br />
        <form method="POST" action="">
            <input type="email" name="mailconnect" placeholder="Mail" />
            <input type="password" name="mdpconnect" placeholder="Mot de passe" />
            <br /><br />
            <input type="submit" name="formconnexion" value="Se connecter !" />
            <a href="recuperation.php" class="button style2">Mot de passe oublié</a>
        </form>
        <?php
        if(isset($erreur)) {
            echo '<font color="red">'.$erreur."</font>";
        }
        ?>
deconnexion.php
<?php
session_start();
$_SESSION = array();
session_destroy();
header("Location: index.html");
?>
je vous remercie d'avance 😀
Wistaro

Wistaro Le 11 mai 2016 à 15:59

C'est quoi le code de tes autres pages? 
Normalement si tu as bien mis au début de chaque page le session_start (), ça devrait conserver les valeurs, et donc ta session en cours.. 
joris1904

joris1904 Le 11 mai 2016 à 16:14

@wistaro je sais pas trop comment faire :(

index.php
<!DOCTYPE HTML>

<html>
   <head>
      <title>Accueil | Joris Vidéo</title>
      <meta charset="utf-8" />
      <meta name="viewport" content="width=device-width, initial-scale=1" />
            <!-- Balise Meta-->
          <meta name = "reply-to" content = "joris1904@jorisvideo.fr"/> 
          <meta name = "author" content = "Joris Vidéo"/> 
          <meta name = "keywords" content = "Accueil,Joris,Vidéo,TUTO"/>
          <meta name = "description" content = "Accueil de mon site Joris Vidéo"/>
      <!--[if lte IE 8]><script src="assets/js/ie/html5shiv.js"></script><![endif]-->
      <link rel="stylesheet" href="assets/css/main.css" />
      <!--[if lte IE 8]><link rel="stylesheet" href="assets/css/ie8.css" /><![endif]-->
   </head>
   <body class="homepage">
      <div id="page-wrapper">

         <!-- Header -->
            <div id="header-wrapper" class="wrapper">
               <div id="header">

                  <!-- Logo -->
                     <div id="logo">
                        <h1><a href="index.html">Accueil</a></h1>
                        <p>Version 2.0</p>
                        <a href="https://twitter.com/VideoJoris" class="icon style2 fa-twitter"></a>
                               <a href="https://www.facebook.com/Joris-vid%C3%A9o-490160817861239/"class="icon style2 fa-facebook"></a>
                                                       <a class="icon fa-youtube" href="https://www.youtube.com/channel/UCA74g6_ra_TosdG33jVgHmA"></a>

                              <a href="mailto:joris1904@jorisvideo.fr"class="icon style2 fa-envelope-o"></a>
                              <script src="https://apis.google.com/js/platform.js"></script>
                                       <div class="g-ytsubscribe" data-channelid="UCA74g6_ra_TosdG33jVgHmA" data-layout="default" data-count="default"></div>
                                                                           <br>
                              <img src="http://steamsignature.com/status/french/76561198093206459.png" alt="" title="" /></a><a href='steam://friends/add/76561198093206459'><img src='http://steamsignature.com/AddFriend.png'></a>

                     </div>

                  <!-- Nav -->
                     <nav id="nav">
                        <ul>
                           <li class="current"><a href="index.html">Accueil</a></li>
                           <li>
                              <a href="#">Vidéo</a>
                              <ul>
                              <li>
                                    <a href="#">Tuto</a>
                                    <ul>
                                 <li><a href="derniertuto.html">Dernier Tuto</a></li>
                                 <li><a href="tutounbuntu.html">Ubuntu</a></li>
                                 <li><a href="tutowindows.html">Windows</a></li>
                                 <li><a href="tutosoon.html">Tuto à venir</a></li>                             
                                    </ul>
                                 </li>
                                 <li><a href="#">Gameplay a venir</a></li>
                              <li>
                                    <a href="#">Concours</a>
                                    <ul>
                                       <li><a href="#">Actif</a></li>
                                       <li><a href="#">Résultat</a></li>
                                    </ul>
                                 </li>
                                 <li><a href="#">Musique à venir</a></li>
                              </ul>
                           </li>
                           <li><a href="#">Tuto</a>
                           <ul>
                              <li><a href="derniertuto.html">Dernier Tuto</a></li>
                              <li><a href="tutounbuntu.html">Ubuntu</a></li>
                              <li><a href="tutowindows.html">Windows</a></li>
                              <li><a href="tutosoon.html">Tuto à venir</a></li>
                           </ul>
                           </li>

                           <li><a href="galerie.html">Galerie</a></li>
                           <li><a href="contact.html">Contact</a></li>
                           <li><a href="mesoutenir.html">Me soutenir</a></li>
                        </ul>
                        <ul>
                        <li>
                           <a href="#">Connexion</a>
                           <ul>
                              <li><a href="inscription.php">S'inscrire</a></li>
                              <li><a href="connexion.php">Se connecter</a></li>
                              <li><a href="profil.php?id=".$_SESSION['id']">Mon profil</a></li>
                           </ul>
                        </li>
                        </ul>        
                     </nav>

               </div>
            </div>

         <!-- Intro -->
            <div id="intro-wrapper" class="wrapper style1">
               <div class="title">Dernière vidéo</div>
               <section id="intro" class="container">
                  <p class="style1">Comment créer un thème avec stylish </p>
                  <p class="style2">
                     <iframe width="860" height="615" src="https://www.youtube.com/embed/pn3m7CGs-JU" frameborder="0" allowfullscreen></iframe><br class="mobile-hide" />
                  </p>
                  <p class="style3">Dans cette vidéo vous allez apprendre a créer un thème avec Stylish avec Mozila ou Chrome. Lien dans la descriptions (ou sur la page)
                  <ul class="actions">
                     <li><a href="stylishthemecrea.html" class="button style3 big">Plus d'info</a></li>
                  </ul>
               </section>
            </div>

         <!-- Main -->
            <div class="wrapper style2">
               <div class="title">Dernière Actu</div>
               <div id="main" class="container">


                  <!-- Features -->
                     <section id="features">
                        <header class="style1">
                           <h2>Toute les dernière ACTU ICI</h2>
                        </header>
                        <div class="feature-list">
                           <div class="row">
                              <div class="6u 12u(mobile)">
                                 <section>
                                    <h3 class="icon fa-picture-o">Version 2.0 du site </h3>
                                    <p>Voici la version 2.0 du site, plus rapide et plus fluide</p>
                                 </section>
                              </div>
                              <div class="6u 12u(mobile)">
                                 <section>
                                    <h3 class="icon fa-picture-o"><a href="stylishthemecrea.html">Comment créer un thème avec stylish </a></h3>
                                    <p>Dans cette vidéo vous allez apprendre a créer un thème avec Stylish avec Mozila ou Chrome .</p>
                                 </section>
                              </div>
                           </div>
                           <div class="row">
                              <div class="6u 12u(mobile)">
                                 <section>
                                    <h3 class="icon fa-picture-o"><a href="Pack6.html">Pack 6 complet Disponnible en DL</a></h3>
                                    <p>Pack 6 disponible environs 1200 images dispo .</p>
                                 </section>
                              </div>
                              <div class="6u 12u(mobile)">
                                 <section>
                                    <h3 class="icon fa-refresh"><a href="stylishtheme.html">Comment avoir un style avec stylish</a></h3>
                                    <p>Dans cette vidéo vous allez apprendre a avoir un style avec stylish.</p>
                                 </section>
                              </div>
                           </div>
                           <div class="row">
                              <div class="6u 12u(mobile)">
                                 <section>
                                    <h3 class="icon fa-picture-o"><a href="jeuxsteamgratuit.html">Comment avoir des jeux Steam, Origin gratuit !</a></h3>
                                    <p>Dans cette vidéo vous allez apprendre comment avoir des jeux gratuit</p>
                                 </section>
                              </div>
                              <div class="6u 12u(mobile)">
                                 <section>
                                    <h3 class="icon fa-check"><a href="social.html">Création d'une page facebook et tweeter</a></h3>
                                    <p>Création d'une page Facebook et Tweeter</p>

                                 </section>
                              </div>
                           </div>
                        </div>
                        <ul class="actions actions-centered">
                           <li><a href="new.html" class="button style1 big">TOUTE LES ACTU</a></li>
                        </ul>
                     </section>

               </div>
            </div>

         <!-- Highlights -->
            <div class="wrapper style3">
               <div class="title">Galerie</div>
               <div id="highlights" class="container">
                  <div class="row 150%">
                     <div class="4u 12u(mobile)">
                        <section class="highlight">
                           <a href="#" class="image featured"><img src="images/pic16.jpg" alt="" /></a>
                           <h3><a href="galerie.html">PACK 1 à 3</a></h3>
                           <p>Il existe plusieurs pack d'image de manga a télécharger, cliquer sur le bouton pour visualisée les images. Le pack 3 contient le 1er et 2eme pack. </p>
                           <ul class="actions">
                              <li><a href="galerie.html" class="button style1">Pack 3 visualitation</a></li>
                              <li><a href="http://adf.ly/12371291/pack3complet" class="button style1">Pack 3 DL</a></li>
                           </ul>
                        </section>
                     </div>
                     <div class="4u 12u(mobile)">
                        <section class="highlight">
                           <a href="Pack4_5.html" class="image featured"><img src="images/pic13.jpg" alt="" /></a>
                           <h3><a href="Pack4_5.html">Pack 4 à 5</a></h3>
                           <p>Il existe en tous 6 pack d'image de manga à télécharger, cliquer sur le bouton pour visualisée les images. Le pack 5 (contient le pack 4 avec). </p>
                           <ul class="actions">
                              <li><a href="Pack4_5.html" class="button style1">Pack 5 visualisation</a></li>
                              <li><a href="http://adf.ly/12371291/pack5" class="button style1">Pack 5 DL</a></li>

                           </ul>
                        </section>
                     </div>
                     <div class="4u 12u(mobile)">
                        <section class="highlight">
                           <a href="#" class="image featured"><img src="images/pic14.jpg" alt="" /></a>
                           <h3><a href="#">Pack 6 ultra complet</a></h3>
                           <p>Ce pack contient environ 1100 image de manga a télécharger, cliquer sur le bouton pour visualisée les images. Le pack 6 et le pack le plus complet de tous </p>
                           <ul class="actions">
                              <li><a href="Pack6.html" class="button style1">Pack 6 complet </a></li>
                              <li><a href="http://adf.ly/12371291/pack-6-ultra" class="button style1">Pack 6 DL</a></li>
                              <br>
                              <br>
                               * DL = Téléchargement
                           </ul>
                        </section>
                     </div>
                  </div>
               </div>
            </div>


         <!-- Footer -->
            <div id="footer-wrapper" class="wrapper">
               <div class="title">Contact</div>
               <div id="footer" class="container">
                  <header class="style1">
                     <h2>Vous avez des questions ? Contacter moi </h2>
                  </header>
                  <hr />
                  <div class="row 150%">
                     <div class="6u 12u(mobile)">

                        <!-- Contact Form -->
                           <section>
                              <form method="post" action="mailto:joris1904@jorisvideo.fr">
                                 <div class="row 50%">
                                    <div class="6u 12u(mobile)">
                                       <input type="text" name="name" id="contact-name" placeholder="Name" />
                                    </div>
                                    <div class="6u 12u(mobile)">
                                       <input type="text" name="email" id="contact-email" placeholder="Email" />
                                    </div>
                                 </div>
                                 <div class="row 50%">
                                    <div class="12u">
                                       <textarea name="message" id="contact-message" placeholder="Message" rows="4"></textarea>
                                    </div>
                                 </div>
                                 <div class="row">
                                    <div class="12u">
                                       <ul class="actions">
                                          <li><input type="submit" class="style1" value="Send" /></li>
                                          <li><input type="reset" class="style2" value="Reset" /></li>
                                       </ul>
                                    </div>
                                 </div>
                              </form>
                           </section>

                     </div>
                     <div class="6u 12u(mobile)">


                        <!-- Contact -->
                           <section class="feature-list small">
                              <div class="row">
                                 <div class="6u 12u(mobile)">
                                    <section>
                                       <h3 class="icon fa-envelope">Email</h3>
                                       <p>
                                          <a href="mailto:joris1904@jorisvideo.fr">joris1904@jorisvideo.fr</a>
                                       </p>
                                    </section>
                                 </div>
                                 <div class="6u 12u(mobile)">
                                    <section>
                                       <h3 class="icon fa-comment">Social</h3>
                                       <p>
                                       <a href="https://twitter.com/VideoJoris" class="twitter-follow-button" data-show-count="false">Follow @VideoJoris</a>
                                       <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
                                       <iframe src="https://www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2FJoris-vid%C3%A9o-490160817861239&width=155&layout=button_count&action=like&show_faces=false&share=true&height=46&appId" width="155" height="46" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true"></iframe>
                                          <script src="https://apis.google.com/js/platform.js"></script>
                                       <div class="g-ytsubscribe" data-channelid="UCA74g6_ra_TosdG33jVgHmA" data-layout="default" data-count="default"></div>
                                       </p>
                                    </section>
                                 </div>
                              </div>
                           </section>

                     </div>
                  </div>
                  <hr />
               </div>
               <div id="copyright">
                  <ul>
                     <li>© Jorisvidéo</li><li>Design: <a href="http://jorisvideo.fr">Joris vidéo</a></li>
                  </ul>
               </div>
            </div>

      </div>

      <!-- Scripts -->

         <script src="assets/js/jquery.min.js"></script>
         <script src="assets/js/jquery.dropotron.min.js"></script>
         <script src="assets/js/skel.min.js"></script>
         <script src="assets/js/skel-viewport.min.js"></script>
         <script src="assets/js/util.js"></script>
         <!--[if lte IE 8]><script src="assets/js/ie/respond.min.js"></script><![endif]-->
         <script src="assets/js/main.js"></script>


   </body>
</html>
Wistaro

Wistaro Le 11 mai 2016 à 17:15 (Édité le 11 mai 2016 à 17:15)

Mais tu n'a qu'une seule page là... 
Tu m'a parlé de plusieurs pages...Lesquelles ?
PaulLavieille

PaulLavieille Le 11 mai 2016 à 17:19

Salut !

Ou puis-je te contacter en privé @joris1904 ?^^ (c'est important !)
joris1904

joris1904 Le 11 mai 2016 à 17:32

@Wistaro en gros sur tous mon site mais le code est un peut près le même 

@PaulLavieille oui pas de problème mais sur quoi ?
PaulLavieille

PaulLavieille Le 11 mai 2016 à 17:38

@Joris1904 Par rapport à ton site
joris1904

joris1904 Le 11 mai 2016 à 17:41

@PaulLavielle pas de problème tu veut parlé sur quelle plateforme ?
PaulLavieille

PaulLavieille Le 11 mai 2016 à 17:44

@joris1904 Skype, Twitter ou Discord ? 
joris1904

joris1904 Le 11 mai 2016 à 17:50 (Édité le 11 mai 2016 à 18:10)

@PaulLavieille ok skype mais peut pas parle cherche  (tu dois trouvé darklight)
PaulLavieille

PaulLavieille Le 11 mai 2016 à 17:54

@joris1904 Demande envoyé ! 😀
Florian

Florian Le 11 mai 2016 à 17:55

Tu as juste a rajouter <?php session_start();  ?> tout en haut c'est a dire avant <!DOCTYPE HTML> puis ta deconnexion.php a une faille CSRF 
joris1904

joris1904 Le 11 mai 2016 à 18:07 (Édité le 11 mai 2016 à 22:28)

@florian comment sa ? 

une faille CSRF ?

je sais pas quel code mettre pour resté connecté du coup
joris1904

joris1904 Le 12 mai 2016 à 10:18

Quelqu'un a une idée svp 😀
BeKidding

BeKidding Le 12 mai 2016 à 12:34

Tu met <?php session_start(); ?> a chaque début OBLIGATOIREMENT de ta page 😀
Ou alors tu met session_start(); si tu as déjà du code php dans ta page en haut 
joris1904

joris1904 Le 12 mai 2016 à 12:48

@BeKidding j'avais deja compris pour sa mais je sais pas quoi mettre comme code a par sa j'ai ajouter sa <?php session_start(); ?> mais sa marche toujours pas -_-
joris1904

joris1904 Le 12 mai 2016 à 21:12

en faite ce que je cherche c'est juste quand on se co sa change le bouton se connecter en profil et se déconnecte (et aussi comment resté connectée) 

ooui je suis pas doué desolé
Cyberium

Cyberium Le 15 mai 2016 à 01:32

@joris1904 ta réflexion est mauvaise. 
Déjà comme dit plus haut, tu dois initialiser la session avec la fonction session_start() dans chaque page où c'est nécessaire. Je précise que RIEN ne doit se trouver avant, sinon ça ne fonctionnera pas.

Ensuite, ta demande est d'afficher (je simplifie) une bouton connexion lorsque que l'utilisateur n'est pas connecté et déconnexion quand il l'est.
Je suppose que tu as un id primaire dans la table 'membres'. Il te suffit donc de dire si $_SESSSION['id'] existe, afficher le bouton deconnexion, sinon afficher le bouton connexion.
Je veux pas te mâcher le travail en te donnant le code, mais aide toi du isset pour vérifier si une variable existe ou non.

N'hésite pas à montrer ton avancée dans ton code pour qu'on te guide; tu progresseras comme ça 😀
joris1904

joris1904 Le 15 mai 2016 à 09:21

@Cyberium j'avais deja corrigé avec session_start()

mon code doit ressemblé a un truc du genre 
<?php if (isset($_SESSION['id'])) { ?>

<?php ?>

c'est ce qui me manque normalement
joris1904

joris1904 Le 15 mai 2016 à 10:44 (Édité le 15 mai 2016 à 11:38)


   <a href="#">Connexion</a>
   <ul>                           
   <?php
      session_start();
      //Si le membre est connecté on affiche le menu-connection
      if(isset($_SESSION['id'])){ ?>

         <li id="co"><?php {echo htmlentities(trim($_SESSION['id']));}?><a href="profil.php"> Profile </a></li>
         <li id="co"><?php {echo htmlentities(trim($_SESSION['id']));}?><a href="deconnexion.php">Deconnexion</a> </li>

      <?php }?>
      <?php
      //Si le membre n'est pas connecté on affiche le menu-deconnecter
      if(empty($_SESSION['id'])) { ?>

         <li id="log"> <a href="connexion.php">Se connecter</a></li> <li><a href="inscription.php"> Inscription</a></li>

      <?php } ?>
voici le code fonctionnel mais j'ai un autre problème du coup

http://image.noelshack.com/fichiers/2016/19/1463304819-probleme.png

preuve en image avec le lien 
sa me met de 1- profil (je comprend pas pourquoi -_-)

Cyberium

Cyberium Le 15 mai 2016 à 15:06 (Édité le 15 mai 2016 à 15:07)

C'est un peu normal ^^
<?php {echo htmlentities(trim($_SESSION['id']));}?
Il affiche le $_SESSION['id'] comme tu lui dis de faire. Tu cherches à faire quoi parce que je vois pas :p
Enlève ça pour enlever le 1 (qui est ton id).
PS: Même si c'est un commentaire, c'est conneXion et non connection.. français... :'(
Cyberium

Cyberium Le 15 mai 2016 à 15:10

Dernière remarque, supprimer ton index.html car ça peut provoquer des soucis avec ton index.php 😀
joris1904

joris1904 Le 15 mai 2016 à 15:28

@cyberium j"ai remarqué sa juste avant que tu réponde
(merci de ton aide )
si non je sais toujours pas comment faire pour que si on clique sur profil pour que sa nous envoie sur le bon profil
la se me met
profil.php?id=
code actuel du coup


   <?php
   session_start();
   //Si le membre est connecté on affiche le menu-connection
   if(isset($_SESSION['id'])){ ?>
      <li id="co"><?php ?><a href="profil.php?id=".$_SESSION['id']);"> Profil </a></li>
      <li id="co"><?php ?><a href="deconnexion.php">Deconnexion</a> </li>
   <?php }?>
   <?php
   //Si le membre n'est pas connecté on affiche le menu-deconnecter
   if(empty($_SESSION['id'])) { ?>

      <li id="log"> <a href="connexion.php">Se connecter</a></li> <li><a href="inscription.php"> Inscription</a></li>

   <?php } ?>
Cyberium

Cyberium Le 15 mai 2016 à 16:23

Je t'ai corrigé ton code, je t'invite à bien regarder en détail comment construire le lien en y intégrant des variables via PHP:
<?php
   session_start();
   //Si le membre est connecté on affiche le menu-connection
   if(isset($_SESSION['id'])){ ?>
      <li id="co"><a href="<?php echo 'profil.php?id='.$_SESSION["id"]; ?>">Profil</a></li>
      <li id="co"><a href="deconnexion.php">Deconnexion</a> </li>
   <?php }
   
   //Si le membre n'est pas connecté on affiche le menu-deconnecter
   if(empty($_SESSION['id'])) { ?>
      <li id="log"> <a href="connexion.php">Se connecter</a></li> <li><a href="inscription.php"> Inscription</a></li>
   <?php } ?>
joris1904

joris1904 Le 15 mai 2016 à 16:32

@Cyberium Merci a toi tous fonctionne correctement 😀