Partage
  • Partager sur Facebook
  • Partager sur Twitter

Un retour sur la page actuelle

    14 mai 2022 à 23:08:06

    Bonsoir à tous!! 

    J'ai créer un système de note (en form) sur un footer que j'inclue en PHP. 

    Ce footer ce trouve sur plusieurs page et j'aimerais qu'il reste à cette même page à chaque envoie du form.

    Imaginons que je suis sur la page1, j'aimerais faire un retour à cette page1 après envoie php; pareil si je suis sur la page2 -> page2 après envoie...

    C'est possible?

    Merci beaucoup des futurs réponses :) 

    • Partager sur Facebook
    • Partager sur Twitter
      14 mai 2022 à 23:32:44

      Bonsoir,
      utilse $_SERVER['HTTP_REFERER'], cette variable contient l'adresse de la page precedente.

      Donc si page1 envoi vers script.php, dans script.php cette variable aura le lien de page1.

      • Partager sur Facebook
      • Partager sur Twitter
        15 mai 2022 à 15:33:48

        Asmitta a écrit:

        Bonsoir,
        utilse $_SERVER['HTTP_REFERER'], cette variable contient l'adresse de la page precedente.

        Donc si page1 envoi vers script.php, dans script.php cette variable aura le lien de page1.


        Salut merci pour l'info sur cette variable, je viens de regarder sur le doc php pour voir comment l'utiliser.  mais je n'ai pas la réponse :s

        <?php
        header("location:page1.php");
        
        /* CONNECT DB */
        $servername = "127.0.0.1";
        $username = "root";
        $password = "";
        $dbname = "krousti";
        
        // Create connection
        $conn = new mysqli($servername, $username, $password, $dbname);
        // Check connection
        if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        }
        
        
        /* SCRIPT NOTE */
        $note = $_POST["note"];
        
        
        
        
        /* INJECTION BDD RESULT CLIENT */
        $sql = "INSERT INTO note_id (note) VALUES ($note)";
        $conn->query($sql);
        
        
        $conn->close();

        Voila ma page sql.php (l'action du form présent dans chaque page du site grâce au footer),

        j'imagine qu'il faut changer la première ligne, mais je connais pas la formule nécessaire, si je peux avoir un autre coup de main:) 

        Merci !!

        • Partager sur Facebook
        • Partager sur Twitter
          15 mai 2022 à 16:20:04

          Bonjour comment l'utiliser ? Ça dépend de ce que tu veux faire.Comme l'a dis asmitta elle contient l'adresse précédente si tu veux rediriger sur cette adresse alors oui il faut modifier ta première ligne, mais de la manière dont tu as procédé tu veux toujours renvoyer ailleurs si cette page est inclus ou appeler via l'url 

          Si c'est un nouveau site que tu crées je ne vois pas l'utilité d'anciennes fonctionnalités de php, pour ta partie sql pourquoi ne pas utiliser la class PDO ? 

          -
          Edité par zvheer 15 mai 2022 à 16:24:42

          • Partager sur Facebook
          • Partager sur Twitter

          yasakani no magatama

            15 mai 2022 à 17:00:39

            Merci de ta réponse, je ne connais pas la class PDO, je vais m'y informer si ce que je fais est devenu dépasser ahah :)

            A priori je suis en train d'apprendre du vieux php :/ 

            • Partager sur Facebook
            • Partager sur Twitter
              15 mai 2022 à 19:42:30

              C'est vrai que beaucoup de tutoriels php sont ancien je n'ai pas de lien à proposer mais si quelqu'un d'autres passe par là peut être pourra t il envoyer un lien vers un bon tutoriel php à jour.

              • Partager sur Facebook
              • Partager sur Twitter

              yasakani no magatama

                15 mai 2022 à 20:33:45

                zvheer a écrit:

                Si c'est un nouveau site que tu crées je ne vois pas l'utilité d'anciennes fonctionnalités de php, pour ta partie sql pourquoi ne pas utiliser la class PDO ? 

                Bonsoir, je ne vois pas de "anciennes fonctionnalités" dans le code proposé. Il existe 2 API mysqli et PDO. (avant PHP7 il y avait mysql_*  tu ne confondrais pas?)

                https://www.php.net/manual/fr/mysqlinfo.api.choosing.php

                Le cours sur ce site me semble correct.

                Liens conseillés

                • Partager sur Facebook
                • Partager sur Twitter
                  15 mai 2022 à 22:41:14

                  Exactement abc confondu avec mysql_*
                  • Partager sur Facebook
                  • Partager sur Twitter

                  yasakani no magatama

                    16 mai 2022 à 2:50:04

                    @relsca Bonjour,

                    Je n’ai pas bien saisi ce que tu souhaites faire exactement. Pourrais-tu nous fournir le formulaire qui se trouve dans le footer (inclus je présume) et le code de gestion de celui-ci.

                    Dans le code que tu nous indiques il y a plusieurs grandes erreurs.

                    La première Ne JAMAIS faire confiance à une donnée utilisateur. A minima vérifie que le type de données transmises soit conforme au type de donnée attendue. Que doit contenir $_POST["note"] ? Un string, un nombre, un booléen, un flottant ? Utilise filter_input() pour filtrer les données reçues.

                    Une autre erreur, qui devrait te valoir une notice au premier chargement de page, c’est de tester l’existence des variables avant de les utiliser. En effet au premier chargement de page $_POST["note"]  n’existe pas. Il n’existera qu’après soumission du formulaire. Pour ce faire isset($_POST["note"]).

                    Et enfin la dernière grande erreur, l’injection SQL. Tu ne peux passer n’importe quoi dans une requête SQL. Utilise les requêtes préparées. (Je te laisse te documenter dessus).

                    ------

                    La solution $_SERVER['HTTP_REFERER'] n’est pas une solution sécure, en effet cette variable est créée au départ d’information du navigateur, elle peut être présente ou non ou falsifiée. On peut s’en servir à des fin de statistique pas par pour sécuriser une application.

                    Pour ma part j’utiliserais les sessions pour mémoriser la page courante. Mais j’avoue ne pas bien comprendre la structure des fichiers et leur fonctionnement.

                    -----

                    >> Ce footer ce trouve sur plusieurs page et j'aimerais qu'il reste à cette même page à chaque envoie du form.

                    Pourquoi ne pas passer la page courante dans l’action du formulaire ?

                    Si c’est un système de vote, pourquoi ne pas passer par AJAX ce qui éviterais le rechargement de page ?

                    Bref je trouve que nous manquons d’information sur le fonctionnement de tout ceci pour apporter une réponse adéquate.

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Un retour sur la page actuelle

                    × 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