PHP un seul boutton et 2 actions

Bonjour,

Voila , je voudrais savoir si c'est possible de faire 2 actions à la fois à partir d'un seul boutton .

*Je voudrais afficher un résultat dans 2 pages par un seul click.

Voici , la chose qui est impossible :

<form method="post" name="envoi" action="page1.php" action="page2.php" >//Seul le premier action est prise en compte.

Je vous serais reconnaissants si vous me donner un petit coup de main .

6 réponses

  1. non tu ne peux ouvrir qu'une seule page de cette façon
    0
    1. Je ne vois pas trop ce que tu veux faire.
      Peux-tu expliquer un peu plus le but de la manoeuvre?
      Sa nous aidera peut être à trouver un moyen de contourner ton problème.
      0
      1. Bonjour,

        comme mikoto je ne vois pas l'utilité...

        si tu as 2 actions a faire, tu les fais a la suite dans la meme page, pourquoi 2?

        tu ne peux pas afficher 2 pages en meme temps dans ton navigateur de toute façon ^^

        (enfin si mais bon ca m'étonnerais que ce soit le cas)

        dis nous en plus sur le but de ta manoeuvre
        0
        1. Merci à vous de me répondre ,

          J'ai 2 colonne dans ma base sql "FICHE" : CODE et PRODUIT

          Bon voila ,

          // Voici ma premiere page qui contient une liste déroulante de sql des "CODE"

          <form method="post" name="envoi" action="page1.php" >

          <select name="champ">
          <?php

          connectMaBase();

          $sql = 'SELECT 'Code' FROM 'fiche'';

          $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

          while($data = mysql_fetch_array($req)){

          echo '<option name="'.$data['Code'].'">'.$data['Code'].'</option>';
          }

          mysql_free_result ($req);

          ?>
          <input value="OK" name="valider" type="submit" ;/>
          </select></form>

          <?php

          if(isset($_POST['valider']))
          {

          $champ=$_POST['champ'];

          }
          ?>

          //Deuxieme page qui affiche le nom du produit

          <form name="atou" /> [action="achat.php" ] ou [action="vente.php"]

          <input type="text" name="re" value="

          <?php
          connectMaBase();

          $champ=$_POST['champ'];

          $sql = 'SELECT Produit FROM fiche WHERE Code=\''.$champ.'\'';

          $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

          while($data = mysql_fetch_array($req)){

          echo ''.$data['Produit'].'';

          }

          mysql_free_result ($req);

          mysql_close ();

          ?>"/></form>

          //j'ai 2 bouton dans cette 2 eme page , Achat et Vente ... :

          <input name="acheter"
          value="Achat" type="submit" >

          <input name="vendre" value="Vente"
          type="submit">

          Je veux avoir la valeur dans la form input pour name "re" :

          <?php
          if(isset($_POST['acheter']))
          {
          $re=$_POST['re'];
          }
          ?>

          //Dans la troisieme page [achat.php] ou [vente.php]

          <?php

          echo ''.$re.'';

          ?>

          la valeur $re ou produit ne s'affiche pas , on dit que c'est undefini , cette valeur m'est vraiment utile à être afficher pour continuer .
          0
          1. Bonjour,

            alors voyons voir.

            si j'ai bien compris ton $_POST['re'] est remplie et ne pose pas de probleme mais ce que tu veux savoir c'est si on a cliqué sur acheter ou vendre pour arriver a cette page, c'est ca?

            si c'est la cas, c'est simple, le JavaScript sera ton ami.

            voila comment je ferais:

            -tu crée un champ caché
            <input type="hidden" id="source" value=""


            -et sur tes boutons tu fais:

            <input type="button" value="Acheter" name="acheter" onClick="document.getElementById('source').value='achat';document.getElementById('ID DE TON FORMULAIRE').submit;" />
            
            <input type="button" value="Vendre" name="vendre" onClick="document.getElementById('source').value='vente';document.getElementById('ID DE TON FORMULAIRE').submit;" />
            


            tu aura donc comme action de ton formulaire 1 seule page et tu n'aura qu'a tester $_POST['source'] pour savoir sur quel bouton on a clické.

            j'ai juste? =)

            0
            1. sinon, désolé du double post mais ca m'est venu qu'après.

              tu peux aussi modifier l'action du formulaire en JS via:

              document.getElementById('ID DU FORM').action="page1.php"; document.getElementById('ID DU FORM').submit();
              


              (d'ailleurs faut des parenthèses au submit, je l ai ai oublié au dessus)

              mais je trouve cette méthode plus "barbare" que la précédente
              0
              1. Merci
                0