Enchaîner plusieurs formulaires dans un script
Dans un même script, je décris un formulaire html et son traitement php. Il fonctionne très bien jusqu'à l'affichage d'un tableau de résultats.
À la lecture de ces résultats, je dois proposer à l'utilisateur de "saisir" le matricule placé au début de la ligne de résultats qu'il souhaite exploiter. Et je dois ensuite traiter cette variable qu'il vient de saisir.
Mon problème : Je bute complètement sur la saisie de ce code. J'ai beau décrire un second et mini formulaire -avec une seule question-, aucun traitement suivant ne s'exécute dès que l'utilisateur envoie son code saisi comme si le contenu de la variable était vide, non conforme, etc... Voici le code de ce second formulaire :
<?php
if (($membre == "O") && ($nb>0) && ($aff>0)) {
?>
<form method="post" name="forme2">
<fieldset>
<label><span style="color:blue; font-size:11px; line-height:110%;">Si vous souhaitez effectuer une pré-réservation, recopiez ici très précisément l'Identifiant trouvé au tout début de la ligne retenue dans le tableau de résultats (ou laissez vierge) </span> → <input type="text" id="matricule" name="matricule"></label>
</fieldset>
<input type="submit" class="btn btn-mini" name="ok" style="background-color:brown; color:white;" value="ok"> <br/>
</form>
<?php
if(isset($_POST['ok'])) {
$matricule = htmlspecialchars((string) $_POST['matricule']);
// ...etc
Et quelques instructions pour vérification, après la saisie du code, comme :
echo "Code saisi = " . $matricule;
sleep(10);
ne s'exécutent pas (rien à l'écran). Hormis la saisie du code et son envoi, ce second formulaire semble transparent.
remarque : rien ne s'exécute, mais rien ne casse (aucune erreur apparente, le script se termine proprement).
Grand merci à celui d'entre vous qui me sortira vite de ce problème, sans nul doute bien simple pour un "spécialiste" de codage !
Réponses apportées à cette discussion
Salut,
il y a un point essentiel à savoir : lorsqu'on soumet un formulaire, seules les données de ce formulaire sont envoyées. S'il y a d'autres formulaires sur la même page, ils ne sont pas du tout pris en compte.
Si une donnée est saisis dans un formulaire X, l'envoi du formulaire Y ne tiendra pas compte de que qui aura été saisi dans le formulaire X.
Il faut donc procéder autrement en veillant à ce qui doit être pris en compte soit dans le formulaire utilisé.
Merci Cyrano.
Mais pour demander la seule saisie d'un matricule, n'existe t-il pas une autre méthode très simple et sans formulaire ?