kirtap01 | Bonjour, et merci de votre aide. Je cherche à créer un formulaire de saisie dont l'apparence et le nombre de champs sont dynamiques, et pour déclencher le réaffichage j'utilise le bouton submit, qui pointe vers l'url de la même page. Mais une fois la saisie terminée je dois aussi enregistrer les informations saisies et pour cela il faut que j'envoie les données du formulaire à une page d'enregistrement. J'ai donc besoin de 2 boutons submit ! Comment faire ? PS: un peu de code illustratif de ce que je fais:
Code :
- <?php // -- SAISIE.PHP = formulaire de saisie --
- include_once "utils.php";
- // -- récupération des valeurs $_GET et $_POST:
- $action = Get_Param ("action", "" );
- $timestamp = date("Y-m-d H:i:s", time());
- $form_horodate = Get_Param ("form_horodate", $timestamp);
- $form_objet = Get_Param ("form_objet", "" );
- $form_modalites = Get_Tab_Params ("form_modalites", "" );
- // -- Formulaire --
- ?>
- <html><head><title>Saisie</title></head>
- <body>
- <div align="center">Saisie des données</div>
- <table>
- <form method="post" name="form1" action="saisie.php">
- <?php // -- Champs de saisie --
- if ($action <> "" )
- { echo " <tr><td> action </td>\n";
- echo " <td><input disabled type='text' name='action' size = '30' value='$action' title='non modifiable'>\n";
- echo " </td></tr>\n";
- }
- editfield ("form_horodate", "date et heure", form_horodate, " " );
- editfield ("form_objet", "objet", $form_objet, " (appareil)" );
- editfield ("form_modalites", "modalités", $form_modalites, "(modalités)" );
- ?>
- </table>
- <table>
- <?php // -- Boutons de validation --
- ?>
- <tr>
- <td align="center">
- <input type="submit" action="saisie.php?action=redraw" value="Champ suivant" title="Valider la saisie de ce champ">
- </td>
- <td align="center">
- <!-- j'ai aussi essayé sans succès : --
- <a href="enreg.php?action=enreg"><button id="id" name="name" title="Enregistrer la saisie" onClick="saisie.php?action=enreg">Enregistrer</button></a>
- -->
- <input type="submit" action="saisie.php?action=enreg" onClick="enreg.php?action=enreg" value="Enregistrer" title="Enregistrer la saisie">
- </td>
- </tr>
- </form>
- </table>
- </body>
- </html>
|
et le fichier UTILS.PHP:
Code :
- <?php // -- utils.PHP -- fonctions utiles --
- //_______________________________________________________________
- // Get_Param ($name, $value)
- // retrouve la valeur d'un paramètre d'appel de la page
- function Get_Param ($name, $value="" )
- { if (isset($_POST[$name])) { return UnQuote ($_POST[$name]); }
- else if (isset($_GET [$name])) { return UnQuote ($_GET [$name]); }
- else { return $value; }
- } // Get_Param ($name, $value)
- //_______________________________________________________________
- // Get_Tab_Params ($name, $value)
- // retrouve la valeur d'un tableau de paramètres d'appel de la page
- function Get_Tab_Params ($name, $value="" )
- { $i = 0;
- $j = 20;
- while ($j > $i)
- { $p = Get_Param ("$name$i", $value);
- $resultat[$i] = $p;
- // -- autorise la suppression de valeurs nulles
- if (isset($_POST [$name.$i]) OR isset($_GET [$name.$i]))
- $i++;
- else $j = $i;
- } // while
- return $resultat;
- } // Get_Tab_Params ($name, $value)
- //---------------------------------------
- // editfield ($nom, $invite, $valeur, $commentaire)
- // Permet la modification d'une variable chaine ou tableau de chaines
- function editfield ($nom, $invite, $valeur, $commentaire)
- { // --
- $multiple = is_array ($valeur);
- echo " <tr>\n";
- echo " <td>".$invite." </td>\n";
- echo " <td>\n";
- if ($multiple)
- { $i=0;
- foreach ($valeur as $key => $value)
- if ($value <> "" )
- { echo " <input type='text' name='".$nom.$key."' size = '30' value=\"".htmlspecialchars($value)."\" ".
- " title='(effacer cette valeur pour la supprimer de la liste)' > <br/>\n";
- $i++;
- }
- echo " <input type='text' name='".$nom."$i' size = '30' value=\"".htmlspecialchars($value)."\" ".
- " title=\"".htmlspecialchars($commentaire)."\">";
- }
- else
- { echo " <input type='text' name='".$nom."' size = '30' value=\"".htmlspecialchars($valeur)."\" ".
- " title=\"".htmlspecialchars($commentaire)."\">";
- }
- echo " </td>\n"; ;
- echo " </tr>\n";
- } // editfield ($nom, $invite, $valeur, $commentaire)
- ?>
|
|