Comment envoyer des valeurs par défaut via la méthode POST ( sans formulaire )

Résolu
SM05 -  
 SM05 -
Bonjour,
Je souhaite créer plusieurs boutons et que chaque bouton ait une valeur par défaut à envoyer en POST. Avec un code du genre :
<form action="page.php" method="POST" class="mise_en_forme" >

<p><input type="submit" name="Valider" value="Nom Bouton 1" class="bouton" valeur_a_envoyer="valeur1"></p>
<p><input type="submit" name="Valider" value="Nom Bouton 2" class="bouton" valeur_a_envoyer="valeur2"></p>
<p><input type="submit" name="Valider" value="Nom Bouton 3" class="bouton" valeur_a_envoyer="valeur3"></p>
</form>


où je pourrais renseigner une valeur "valeur_a_envoyer" en dur dans mon code.
Merci.

4 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour

    Il te faut un form par bouton
    Dans lesquels tu placeras un input hidden
    Contenant la value que tu souhaites.
    0
  2. SM05
     
    Merci pour ton aide.
    J'ai essayé cette solution
     <form action="page.php" method="POST" class="mise_en_forme" >
     <input  type="hidden" name="Bouton_caché" value="valeur-a-envoyer">
     <input type="submit" name="Valider" value="Nom Bouton 1" class="bouton">
    </form> 
    

    mais ça ne fonctionne pas ( code erreur -> Notice: Undefined index: choix_accueil in C:\wamp64\www\page.php on line 26 )
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Bonjour,

      Primo... tu ne dois pas utiliser de caractères spéciaux ou accentués dans le nom des variables, les attributs NAME ou ID de tes éléments html.

      Secundo... tu nous parles d'un message d'erreur php... sans nous montrer le code php qui va avec...
      mais vu le message, cela indique que tu essaies de récupérer une variable $_POST['choix_accueil'] alors qu'elle n'est pas envoyée par ton formulaire.
      Je t'invite fortement, au passage, à lire et à appliquer le contenu de ce lien : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code

      .
      0
  3. SM05
     
    Voici les nouveaux éléments ( Remarque importante : mon code fonctionne quand j'utilise une saisie via un formulaire au lieu du bouton hidden ... ) :
      
    
     <form action="page.php" method="POST" class="mise_en_forme" >
     <input  type="hidden" name="Bouton_invisible" value="valeur_a_envoyer">
     <input type="submit" name="Valider" value="Nom_Bouton_1" class="bouton">
    </form> 


    
    <?php
    
    error_reporting(E_ALL);
    ini_set('display_errors', TRUE);
    ini_set('display_startup_errors', TRUE);
    
    
    
    
    
     require('_connexion.php'); ?>
    <!DOCTYPE html>
    <html> 
        <head>
         <meta charset="utf-8">
         <title> Page_test</title>
         <link rel="stylesheet" media="screen" type="text/css" title="Design" href="style.css" />
      <link rel="SHORTCUT ICON" HREF="images/earth-icon16.png"> <!-- Logo sur l'onglet -->
     </head>   
    
    
         <body>
    
    <!-- L'en-tête -->
    <header>
         <div id="en_tete">
    </header>  
    
            
         <?php
    
    
    //Si la variable $_POST['nom'] existe et n'est pas vide, j'en récupère la valeur, sinon je mets la variable $nom à NULL
    
    $table = !empty($_POST['choix_accueil']) ? $_POST['choix_accueil'] : NULL;
    
    print_r($table);
    echo($table);
    echo('Toto');
    ?>
       
          </div>
     
         </body>
    </html>
    
    


    Résultat : j'ai "Toto" qui s'affiche uniquement

    Avec le formulaire :
     <form action="page.php" method="POST" class="mise_en_forme" >
    
     <select name="choix_accueil" class="Liste-deroulante">
                   <optgroup label="Equipements" >
                                            <option value="valeur-a-envoyer">valeur-a-envoyer</option>
                   </optgroup>
    
     <input type="submit" name="Valider" value="Nom_Bouton_1" class="bouton">
    </form> 


    Résultat : j'ai " valeur-a-envoyervaleur-a-envoyerToto" qui s'affiche
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Dans un cas tu as nommé ton champ bouton_invisible dans l'autre choix_accueil ...
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832 > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Une image est parfois plus parlante que du texte.......

        0
  4. SM05
     
    Effectivement ça marche beaucoup mieux, je vais pouvoir rajouter d'autres boutons ( bien renseignés ) pour faire mon menu.

    C'était donc à cause de mon "bouton_invisible" ? Bien vu l'aveugle ! :)
    Merci beaucoup.
    0