[Ajax][JavaScript] ne pas perdre données POST

moije -  
 moije -
Bonjour,

Je souhaite garder mes données POST durant toute la navigation sur mon site. Mais je ne vois pas comment faire.

J'ai trois fichiers principaux : l'index, un fichier JavaScript, et un contrôleur ajax.
Dans l'index, j'appelle une fonction js avec un argument.
La fonction js transmet l'argument au contrôleur en POST.
Le contrôleur ajax fait un echo de contenu et le js traite ce contenu.
(et l'index traite les données s'il y en a)

Le contenu, en l'occurrence, peut être un formulaire, dont les données sont elles-aussi passées par POST.

Je ne suis pas sûr de faire comme il faudrait, mais bon... (Il faut me le dire, si c'est le cas!)

Ce que je voudrais, donc (et enfin!), c'est garder toutes les données POST qui ont pu être générées.
J'ai par exemple 2 formulaires à la suite. quand je clique sur submit du 2eme formulaire, je n'ai plus les données POST du premier, et j'en ai besoin!

Mes explications sont très brouillonnes, mais si un courageux pouvait me donner un coup de main...

6 réponses

  1. adns Messages postés 1152 Statut Membre 153
     
    exemple très simple :

    1er formulaire page1.php
    <form name="form1" action="page2.php" method="POST">
    Nom :  <input type="text" name="nom">
    <br>
    <input type="submit" value="envoyer">
    </form>
    


    2eme formulaire page2.php
    <form name="form2" action="page3.php" method="POST">
    <input type="hidden" name="nom" value="<?php echo $_POST['nom']; ?>">
    prenom :  <input type="text" name="prenom">
    <br>
    <input type="submit" value="envoyer">
    </form>
    


    page d'affichage page3.php
    
    <?php 
    echo "nom : ".$_POST['nom']; 
    echo "prenom : ".$_POST['prenom']; 
    ?>
    
    


    Adns
    1
  2. adns Messages postés 1152 Statut Membre 153
     
    Bonjour

    une idée de réponse :

    lors de l'envoi de ton premier formulaire et l'affichage du seconde insère les données que tu veux garder dans des champs cachés (type: hidden)

    Adns
    0
    1. Mike
       
      Ouai je pense la même solution que adns, ou sinon s'orienter vers les variables de sessions.
      0
  3. moije
     
    Je ne vois pas comment mettre dans des champs cachés, mais de toute façon, les variables de sessions me semblent plus pertinentes... je crois...

    Merci à vous deux
    0
  4. moije
     
    Oui mais page2.php ne connait déjà plus $_POST['nom']!

    Pour l'instant, je fais :
    <script type="text/javascript">
    $(function(){
    choixPage("<?php echo $_POST['page'];?>");
    });
    </script>
    Il n'y aurait pas possibilité de passer tout le $_POST ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mike
     
    Ce qu'a fait Adns fonctionne très bien, car sachant que dans sa page deux, il stock $_POST['nom'] dans une input de type hidden et de name = 'nom',
    donc lorsque tu valides le formulaires de la page 2, il envois en post la valeur de l'input type hidden nommé 'nom'.

    Si tu comprend pas de trop le code, change la methode POST en GET, et regarde le cheminement des variables.
    0
  7. moije
     
    ça ne fonctionne pas, ça.

    Les données POST sont perdues lorsque je génère le formulaire2.

    Du coup, je me demande si je fais comme il faut pour générer mes pages...
    0