PHP un seul boutton et 2 actions

alphap123 Messages postés 11 Statut Membre -  
alphap123 Messages postés 11 Statut Membre -
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. beber005
     
    non tu ne peux ouvrir qu'une seule page de cette façon
    0
  2. Mikoto94 Messages postés 8 Statut Membre
     
    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
  3. Gremy87 Messages postés 360 Statut Membre 38
     
    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
  4. alphap123 Messages postés 11 Statut Membre 2
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Gremy87 Messages postés 360 Statut Membre 38
     
    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
  7. Gremy87 Messages postés 360 Statut Membre 38
     
    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. alphap123 Messages postés 11 Statut Membre 2
       
      Merci
      0