MENU ESPACE MEMBRE

Ce topic a été résolu
zenxkoo

zenxkoo Le 27 mai 2017 à 23:33 (Édité le 25 janvier 2019 à 17:53)

Bonjour tout le monde je suis actuellement entre de crée un site ou il y aura un espace membre donc je vous resume se que je demande quand on arrive sur le site on tombe sur l'aceuille il y as un menu avec marquer inscription ou se connecter j'aimerais que quand l'utilisateur est connecter a la place il y est marquer profil et se deconnecter
Balatharas

Balatharas Le 28 mai 2017 à 12:34

<div id="tonMenu">
    <?= isset($_SESSION['id']) ? 'Mon profil' : 'Me connecter'; ?>
</div>
Utilise cette condition 😉
zenxkoo

zenxkoo Le 28 mai 2017 à 13:46

ok mes ducoup mon connexion et inscription ils sont pas la xD
zenxkoo

zenxkoo Le 28 mai 2017 à 13:47

http://zenxkoo.esy.es/ ses sur se site la si tu veut mieux comprendre
TheOldNoob

TheOldNoob Le 28 mai 2017 à 15:05

Salut l'ami,

ça va dépendre de comment tu a gérer tes utilisateurs.

Par exemple, moi j'utilise des enum pour le type de permission. ça me permet de faire des conditions en fonction du rang et faire apparaitre ou non certains boutons.

Tu peu faire comme a dit Beignet, simplement avec un numéro d'id pris sur la session 😀
zenxkoo

zenxkoo Le 28 mai 2017 à 15:14

ducoup faudrais que je fasse comment 
<div class="right">
         <ul class="connect_menu">
            <li class="connect_title">
               <a href="connexion.php">se connecter</a>
            </li>
            <li class=connect_title>
               <a href="inscription.php">s'inscrire</a>
            </li>
         </ul>
      </div>
sa ses la partie de mon menu que je veut qui change quand on est connecter donc faut mettre le truc avec l'id sur chaque ?
TheOldNoob

TheOldNoob Le 28 mai 2017 à 19:17 (Édité le 28 mai 2017 à 19:18)

un truc assez simple du genre :
<?php if (!empty($_SESSION) && isset($_SESSION['user']['role']) && $_SESSION['user']['role'] == 'inscrit') :?>
//ici le bouton pour la personne déjà inscrit
Et tu fait la même chose si la personne n'est pas inscrit
zenxkoo

zenxkoo Le 29 mai 2017 à 15:09 (Édité le 29 mai 2017 à 15:09)

j'ai tester pas mal de truc sa marche pas bizard 
TheOldNoob

TheOldNoob Le 29 mai 2017 à 15:34

envois ton code peut-être... parce que pour ma part, je devine pas encore le code sur le pc des autres 😉
zenxkoo

zenxkoo Le 29 mai 2017 à 15:37

et bas tu devrais :p tu veut quoi le code de mon menu et une partie de mon php pour savoir se que j'ai mis ?
TheOldNoob

TheOldNoob Le 29 mai 2017 à 15:48

envois tout, qu'on vois comment tu t'y prend
zenxkoo

zenxkoo Le 29 mai 2017 à 15:54

tient sa ses la page de connexion avec sa tu peut comprendre comment je marche et je sait pas si sa peut changer un truc mes mon menu je les mis en "include" 
<?php
session_start();
$bdd = new PDO("mysql:host=unsite.fr;dbname=tu l'aura pas ", "", "");
if(isset($_POST['formconnexion']))
{
   $mailconnect = htmlspecialchars($_POST['mailconnect']);
   $mdpconnect = sha1($_POST['mdpconnect']);
   if(!empty($mailconnect) AND !empty($mdpconnect))
   {
      $requser = $bdd->prepare("SELECT * FROM membre 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 !";
   }
}
?>
<!DOCTYPE html>
<html>
   <head>
      <title>Connexion</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">
            <input type="submit" name="formconnexion" value="Se connecter !">
         </form>
         <?php
         if(isset($erreur))
         {
            echo '<font color="red">'.$erreur."</font>";
         }
         ?>
      </div>
      <a href="index.php">Retourner a l'acceuil</a>
   </body>
</html>
et voila le menu
<?php
session_start();
$bdd = new PDO();
?>
<div class="container">
      <div class="left">
         <div class="logo">zenxko</div>
      </div>
      <div class="center">
         <ul class="menu">
            <li class="title">
               <a href="#">Acceuil</a>
            </li>
            <li class="title">
               <a href="#">Programmation</a>
            </li>
            <li class="title">
               <a href="#">Video</a>
            </li>
            <li class="title">
               <a href="#">forum</a>
            </li>
            <li class="title">
               <a href="contact.php">Contact</a>
            </li>      
         </ul>
      </div>
      <div class="right">
         <ul class="connect_menu">
            <li class="connect_title">
               <a href="connexion.php">connexion</a>
            </li>
            <li class=connect_title>
               <a href="inscription.php">inscription</a>
            </li>
         </ul>
      </div>
   </div>

zenxkoo

zenxkoo Le 29 mai 2017 à 15:56

dit moi si tu veut le reste genre inscription 
TheOldNoob

TheOldNoob Le 29 mai 2017 à 19:03

c'est pas le code de l'inscription ou de la connexion qui m'intéresse, mais le code des conditions pour faire apparaître les boutons en fonction de si ils sont connecté ou non.
zenxkoo

zenxkoo Le 29 mai 2017 à 21:06

ba j'ai tester des truc qui marcher pas ducoup je les est suprimer
rons1

rons1 Le 30 mai 2017 à 01:43 (Édité le 30 mai 2017 à 01:46)

ton site ca servira a faire quoi..on est cree pas un site tout simplement pour creer ; chose grave tu veut mettre un espaca membre en place ce qui ne pas du tout proffesionel.  quand tu cree un site songe d'abord a son theme ; on cree un espace par exemples quan iln ya tes membres qui pourront soites tes proposé des articles soit tacher entre eux; etc
voici mon site africmemoire.com
TheOldNoob

TheOldNoob Le 30 mai 2017 à 07:46

rons1...
Ton message n'a aucun sens et il est complètement illisible.
Je vois pas en quoi un espace membre n'est pas pro. On peu tout a fait commencé la création d'un site par la parti fonctionnel avant la parti plus design. 
Après, c'est bien de te la pété avec ton site qui n'a rien d’exceptionnel, mais clairement, on s'en fou(et au passage tu pourra refaire la version mobile de ton site).
Zenxkoo viens demander de l'aide pour un problème particulier, on l'aide sans aller chercher pourquoi il fait son site. 
L'important étant qu'il progresse.

La prochaine foi, avant de poster sur un forum, pense a faire un effort d'écriture...

Zenxkoo, met nous quand même ton code, même si il ne fonctionne pas, qu'on puisse voir dans quel direction tu est partie 😀
zenxkoo

zenxkoo Le 30 mai 2017 à 12:49 (Édité le 31 mai 2017 à 11:46)

merci THeOldNoob je le refait et je t'envoi sa mes je pence savoir se qui allez pas dans se que j'avais tester et rons1 si j'ai envie de cree un site pas du tout pro avec un espace membre pour nourrir des brebis je fais se que je veut et puis si tu vient sur le forum pour faire ton rageux va sur jeuxvideo.com  et ton site il y a marquer 2015 - 2017 sa fais 2 ans qui les en création je mien sa fais 3 jours donc faut bien commencer quelque part 
zenxkoo

zenxkoo Le 30 mai 2017 à 17:20

<?php
session_start();
$bdd = new PDO("");
?>
<div class="container">
      <div class="left">
         <div class="logo">zenxko</div>
      </div>
      <div class="center">
         <ul class="menu">
            <li class="title">
               <a href="#">Acceuil</a>
            </li>
            <li class="title">
               <a href="#">Programmation</a>
            </li>
            <li class="title">
               <a href="#">Video</a>
            </li>
            <li class="title">
               <a href="#">forum</a>
            </li>
            <li class="title">
               <a href="contact.php">Contact</a>
            </li>      
         </ul>
      </div>
<?php
         if(isset($_SESSION['id']) AND $userinfo['id'] == $_SESSION['id'])
         {
            ?>
      <div class="right">
         <ul class="connect_menu">
            <li class="connect_title">
               <a href="connexion.php">Profil</a>
            </li>
            <li class=connect_title>
               <a href="inscription.php">deconnexion</a>
            </li>
         </ul>
      </div>
   </div>
<?php
}
else
{
      ?>
         <div class="right">
         <ul class="connect_menu">
            <li class="connect_title">
               <a href="connexion.php">connexion</a>
            </li>
            <li class=connect_title>
               <a href="inscription.php">inscription</a>
            </li>
         </ul>
      </div>
   </div>
<?php
}
?>

sa ses mon menu qui est en include sur mon index et j'avais tester sa mes sa marcher pas vraiment
zenxkoo

zenxkoo Le 30 mai 2017 à 17:23

mes sa vient de la page de mon profil parceque mon bouton pour retourner a l'acceuil je pence que sa vient de la 
<?php
session_start();
$bdd = new PDO("");
if(isset($_GET['id']) AND $_GET['id'] > 0)
{
   $getid = intval($_GET['id']);
   $requser = $bdd->prepare('SELECT * FROM membre WHERE id = ?');
   $requser->execute(array($getid));
   $userinfo = $requser->fetch();
?>
<!DOCTYPE html>
<html>
   <head>
      <title>PROFIL</title>
      <meta charset="utf-8">
   </head>
   <body>
      <div align="center">
         <h2>Profil de <?php echo $userinfo['pseudo']; ?></h2>
         <br /><br />
         Pseudo = <?php echo $userinfo['pseudo']; ?>
         <br />
         Mail = <?php echo $userinfo['mail']; ?>
         <br />
         <?php
         if(isset($_SESSION['id']) AND $userinfo['id'] == $_SESSION['id'])
         {
            ?>
            <a href="editionprofil.php">Editer mon profil</a>
            <a href="deconnexion.php">Se déconnecter</a>
            <a href="index.php">Retourner a l'acceuil</a>
            <?php
         }
         ?>
      </div>
   </body>
</html>
<?php
}
?>
zenxkoo

zenxkoo Le 31 mai 2017 à 11:46

TheOldNoob tu as trouver se qui va pas ?
Balatharas

Balatharas Le 31 mai 2017 à 14:37

Quand tu fais
<?php
session_start();
$bdd = new PDO("");
?>
<div class="container">
      <div class="left">
         <div class="logo">zenxko</div>
      </div>
      <div class="center">
         <ul class="menu">
            <li class="title">
               <a href="#">Acceuil</a>
            </li>
            <li class="title">
               <a href="#">Programmation</a>
            </li>
            <li class="title">
               <a href="#">Video</a>
            </li>
            <li class="title">
               <a href="#">forum</a>
            </li>
            <li class="title">
               <a href="contact.php">Contact</a>
            </li>      
         </ul>
      </div>
<?php
         if(isset($_SESSION['id']) AND $userinfo['id'] == $_SESSION['id'])
         {
            ?>
      <div class="right">
         <ul class="connect_menu">
            <li class="connect_title">
               <a href="connexion.php">Profil</a>
            </li>
            <li class=connect_title>
               <a href="inscription.php">deconnexion</a>
            </li>
         </ul>
      </div>
   </div>
<?php
}
else
{
      ?>
         <div class="right">
         <ul class="connect_menu">
            <li class="connect_title">
               <a href="connexion.php">connexion</a>
            </li>
            <li class=connect_title>
               <a href="inscription.php">inscription</a>
            </li>
         </ul>
      </div>
   </div>
<?php
}
?>
Essaie de remplacer par ça:
<?php
session_start();
$bdd = new PDO("");
if(isset($_SESSION['id'])) {
   $profil = "<a href='profil.php?id=".$_SESSION['id']."'>Mon profil</a>";
}
$connexion = "<a href='connexion.php'>Connexion</a>";
$deconnexion = "<a href='deconnexion.php'>Se déconnecter</a>";
$inscription = "<a href='inscription.php'>Inscription</a>";
?>
<div class="container">
   <div class="left">
      <div class="logo">zenxko</div>
   </div>
   <div class="center">
      <ul class="menu">
         <li class="title">
            <a href="#">Acceuil</a>
         </li>
         <li class="title">
            <a href="#">Programmation</a>
         </li>
         <li class="title">
            <a href="#">Video</a>
         </li>
         <li class="title">
            <a href="#">forum</a>
         </li>
         <li class="title">
            <a href="contact.php">Contact</a>
         </li>
      </ul>
   </div>
   <div class="right">
      <ul class="connect_menu">
         <li class="connect_title">
            <?= isset($_SESSION['id']) ? $profil : $connexion ?>
         </li>
         <li class=connect_title>
            <?= isset($_SESSION['id']) ? $deconnexion : $inscription ?>
         </li>
      </ul>
   </div>
</div>
Ca devrait marcher
zenxkoo

zenxkoo Le 31 mai 2017 à 14:44

ok je vais tester tout a l'heure sa mes dans mon profil j'ai un <a> <a/> qui va a mon aceuille et j'ai pas besoins de mettre de truc special si je fais juste un <a> a mon acceuil reste connecte
Balatharas

Balatharas Le 31 mai 2017 à 15:47

accueil*
Mais sinon j'ai rien compris de ton dernier message
zenxkoo

zenxkoo Le 31 mai 2017 à 16:00

merde dsl bas je t'envoi mon CODE profil et regarde mon bouton retourner a l'accueil
<?php
session_start();
$bdd = new PDO("");
if(isset($_GET['id']) AND $_GET['id'] > 0)
{
   $getid = intval($_GET['id']);
   $requser = $bdd->prepare('SELECT * FROM membre WHERE id = ?');
   $requser->execute(array($getid));
   $userinfo = $requser->fetch();
?>
<!DOCTYPE html>
<html>
   <head>
      <title>PROFIL</title>
      <meta charset="utf-8">
   </head>
   <body>
      <div align="center">
         <h2>Profil de <?php echo $userinfo['pseudo']; ?></h2>
         <br /><br />
         Pseudo = <?php echo $userinfo['pseudo']; ?>
         <br />
         Mail = <?php echo $userinfo['mail']; ?>
         <br />
         <?php
         if(isset($_SESSION['id']) AND $userinfo['id'] == $_SESSION['id'])
         {
            ?>
            <a href="editionprofil.php">Editer mon profil</a>
            <a href="deconnexion.php">Se déconnecter</a>
            <a href="index.php">Retourner a l'acceuil</a>
            <?php
         }
         ?>
      </div>
   </body>
</html>
<?php
}
?>