Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupérer des variables dans une utl

    27 avril 2017 à 14:09:47

    Bonjour je suis en train de développer un système d'oubli de mot de passe.

    Je sais qu'on peut utiliser $_POST[] dans une url. Dans mon système, le mail reçu par l'utilisateur sera composé d'une clé dans son url qui permettra d'identifier si c'est le bon utilisateur qui réinitialise son mot de passe.

    Pour la validation d'un compte ça ne posait pas de problème car ma fonction php se servait seulement des donnée dans l'url pour activer le compte.

    Mais dans le cas d'un changement de mot de passe, l'utilisateur va devoir entrer des valeurs et quand il va cliquer sur le bouton submit je me demande si les valeur misent dans le $_POST par l'url vont se réinitialisées ou pas?

    Merci d'avance

    -
    Edité par nicolastest1 27 avril 2017 à 14:10:22

    • Partager sur Facebook
    • Partager sur Twitter
      27 avril 2017 à 15:52:08

      Bonjour,

      Si tu comptes mettre en place un système mixte à base et de $_GET et de $_POST, il y a une petite astuce à connaître.

      Pour déclencher la récupération de variables $_POST il faut qu'un formulaire soit validé, et lorsqu'un formulaire est validé cela signifie qu'il est fait appel à l'attribut "action" qui va indiquer une URL à charger pour traiter le formulaire.

      L'astuce à connaître est donc toute simple : il faut intégrer les éventuelles variables d'URL directement dans le lien "action", ce qui fait que lorsque le formulaire sera validé, il sera possible de récupérer à la fois les variables $_POST (issues des champs du formulaire) et à la fois les variables $_GET (récupérées dans l'URL du formulaire, puis retranscrit dans le lien action, avant d'être renvoyé dans l'URL de la page de traitement).

      Voilà, je ne sais pas si j'ai bien été clair, mais sache donc que c'est tout à fait possible :)

      Imaginons que ton formulaire est à l'adresse monsite.fr/monformulaire.php

      Du coup le lien que tu vas envoyer par courriel sera monsite.fr/monformulaire.php?cle=XYZ&bis=123

      Dans la page monformulaire.php, à l'emplacement de l'attribut "action" du formulaire, il faut prévoir un lien du type : mapagedetraitement.php?cle=<? echo $_GET["cle"]; ?>&bis=<? echo $_GET["bis"]; ?>

      Quand le formulaire sera validé, tu auras alors accès aussi bien aux variables $_GET["cle"] et $_GET["bis"] qu'aux différentes variables $_POST de ton formulaire ;)

      -
      Edité par Nicolas B 27 avril 2017 à 15:54:56

      • Partager sur Facebook
      • Partager sur Twitter
      Nicolas - Développeur PHP qui bricole pas mal, utilisant Bootstrap, Materialize, MySQL et quelques astuces piochées par ci par là. Codeigniter a changé ma vie de codeur :D
        27 avril 2017 à 16:28:04

        Ah merci beaucoup pour cette subtilité je n'avais pas pensé au echo directement dans le lien merci pour ton aide :)
        • Partager sur Facebook
        • Partager sur Twitter

        Récupérer des variables dans une utl

        × 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