Partage
  • Partager sur Facebook
  • Partager sur Twitter

Variable de session

stoquage dans une BD SQL

Sujet résolu
    1 juillet 2020 à 22:30:35

    Bonsoir, oft, je fais mon petit truc en PHP, je ne suis pas pro cependant je rencontre des soucis dont le plus majeur pour moi c'est celui-ci :

    J'y vais avec un exemple, j'ai deux tables 

    Tab1= utilisateurs et Tab2= articles

    Donc à ce niveau l'utilisateur est déjà connecté et tout, maintenant mon problème est que quand je veux par exemple lister les articles qu'un utilisateur a posté, là c'est tout un problème, j'echoue d'afficher les articles entrés seulement par l'utilisateur, du moins ça affiche tous les articles, donc un utilisateur peut modifier n'importe quel article !

    Voici ma première solution que j'ai essayé, mais négatif!

    J'ai stocké les informations dans la variable session, juste à la confirmation du compte de l'utilisateur, puis sur la page des articles je recupère ça, maintenant je rencontre le problème en voulant stoquer les informations de la variable de session dans la base de données pour faire une requête qui m'aider à faire ce que je veux !!!

    Aidez-moi svp, j'ai fouillé partout mais j'ai rien trouvé😢😥

    • Partager sur Facebook
    • Partager sur Twitter
      1 juillet 2020 à 23:03:35

      Hello, 

      Je ne suis pas sûr d'avoir tout compris mais à mon avis tu te compliques peut-être un peu la vie.

      Est-ce que ta table article dispose d'un champ qui la lie à ta table user ? 

      De cette manière tu peux afficher tous les articles qui ont pour auteur le user qui est connecté avec quelque chose dans ce goût là :

      SELECT A.titre, A.contenu FROM articles A WHERE A.user_id = '$id_user'
      

      Le $id_user étant au préalable enregistré dans ta variable de session. 

      Tu as du code à nous partager pour qu'on puisse t'aider d'avantage ? 

      • Partager sur Facebook
      • Partager sur Twitter
        1 juillet 2020 à 23:12:12

        Bonjour, as-tu essayé les bases de donnés SQL?

        tu pourrai ainsi créer un panier avec des articles unique à chaque utilisateur.

        Avec le php les tables sql sont très efficaces et c'est même nécessaire si tu souhaites créer un site de shopping.

        https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913655-quest-ce-quune-base-de-donnees

        je pense que ton serveur va câbler quand il va voir voir tout ses utilisateurs se promener avec des centaines de variables de sessions:lol:

        • Partager sur Facebook
        • Partager sur Twitter
          2 juillet 2020 à 17:54:49

                if (empty($errors)) {
                  $tokenimg=$title;
                  var_dump( $tokenimg);
                  $req = $pdo->prepare('INSERT INTO products SET category = ?, title = ?, price = ? , phone = ? , address = ? , description = ?, tokenimg=?, mail_articles = ?');
                  $req->execute([ $_POST['category'],$_POST['title'], $_POST['price'],  $_POST['phone'], $_POST['address'],$_POST['description'], $tokenimg, $_POST['mail_articles']]);

          le code est là juste en haut, @ValentinGorrin, merci pour ton aide j'ai lu, j'ai vraiment pris mon temps pour lire, je reviens avec une difficulté que j'ai rencontré encore, voici la suite: 
          mon code est en haut juste, là je cherche à insérer les données dans ma base, maintenant, je ne sais pas quelle requête faire pour faire une jointure qui va me permettre de stocker l'id de l'utilisateur connecté dans le dernier champ nommé id_users. donc aide moi stp, je ne sais pas, s'il faut créer une troisième table, donc en bref mon souci c'est qu'à l'insertion des données le dernier champ qui est users_id reçoit l'id utilisateur.
          @SebC1983 ausiiiii merci pour ton aide, j'y suis presque, donc aide moi aussi!
          • Partager sur Facebook
          • Partager sur Twitter
            2 juillet 2020 à 19:17:25

            Tu n'as pas besoin de jointure, juste d'un champ supplémentaire dans ta table "products" 

            Dans cette table tu ajoutes un champ user_id (int)

            Et pour y insérer l'identifiant de l'utilisateur en cours tu fais exactement comme pour les autres valeurs mais en y renseignant ta variable de session user_id que tu auras préalablement récupérée lorsque l'utilisateur s'est connecté

            • Partager sur Facebook
            • Partager sur Twitter
              3 juillet 2020 à 12:41:00

              Merci beaucoup @SebC1983 
              Je ferme ce sujet !!!
              • Partager sur Facebook
              • Partager sur Twitter

              Variable de session

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown