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

Signaler
-
 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

Messages postés
28924
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 juillet 2020
2 605
Bonjour

Il te faut un form par bouton
Dans lesquels tu placeras un input hidden
Contenant la value que tu souhaites.
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 )
Messages postés
28924
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 juillet 2020
2 605
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 : http://www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code

.
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
Messages postés
28924
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 juillet 2020
2 605
Dans un cas tu as nommé ton champ bouton_invisible dans l'autre choix_accueil ...
Messages postés
28924
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 juillet 2020
2 605 >
Messages postés
28924
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 juillet 2020

Une image est parfois plus parlante que du texte.......

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.