Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

formulaire et script intermediaire [suite... avec tableau]

2 réponses
Avatar
Denis Bitouze
Bonjour,

je fais suite au fil de discussion concernant la conservation d'une
variable ($MaVariable ci-dessous) lors du traitement d'un formulaire.
Les solutions proposées par Jedi121 et Eric Feldstein, utilisant :

<input type="hidden" name="MaVariable" value="<?php echo $MaVariable;
?>">

répondent au problème que je rencontrais.

Maintenant, mon formulaire s'étoffe et j'ai un grand nombre de
variables à conserver. La solution consistant à mettre ces variables
dans un tableau et à passer chacune des entrées du tableau dans une
instruction :

<input type="hidden" name="MonTableau[0]" value="<?php echo
$MonTableau[0];?>">
<input type="hidden" name="MonTableau[1]" value="<?php echo
$MonTableau[1];?>">
...

fonctionne. Mais c'est un peu lourd et j'ai donc tenté de passer, en
UNE SEULE instruction :

<input type="hidden" name="MonTableau" value="<?php echo
$MonTableau;?>">

toute la variable tableau mais ça ne fonctionne pas. Ceci est résumé
dans les 3 scripts complets minimaux suivants où la variable
MonTableauBis ne contient pas, dans le script final, les données qu'il
contenait dans le script intermédiaire :

// Script de saisie
<h1>
Essai de saisie
</h1>
<form name="formulaire" method="post" action="intermediaire.php"
enctype="multipart/form-data">
<input name="MonTableau[]" type=text size=50><br>
<input name="MonTableau[]" type=text size=50><br>
<input name="Submit" type="submit" class="button" value="Vérifier">

// Script intermédiaire de vérification
<h1>
Essai intermédiaire
</h1>
<?
echo "Vous avez inscrit le terme n°1&nbsp;: <b>" . $MonTableau[0] .
"</b>"; echo "<br>";
echo "Vous avez inscrit le terme n°2&nbsp;: <b>" . $MonTableau[1] .
"</b>"; echo "<br>";
$MonTableauBis[]=$MonTableau[0];
$MonTableauBis[]=$MonTableau[1];
?>
<p>
<form name="formulaire" method="post" action="final.php"
enctype="multipart/form-data">
<input type="hidden" name="MonTableauBis" value="<?php echo
$MonTableauBis;?>">
<input type="hidden" name="MonTableau[0]" value="<?php echo
$MonTableau[0];?>">
<inputtype="hidden" name="MonTableau[1]" value="<?php echo
$MonTableau[1];?>">
<input name="Submit" type="submit" class="button"
value="Confirmer"></p>

// Script final de transfert
// Pour ne pas alourdir, j'ai omis le code du transfert proprement dit
// mais celui-ci a bien sûr besoin de savoir ce que contient la
// variable "MaVariable".
<h1>
Essai final
</h1>
<h2>
Avec MonTableau :
</h2>
<?
echo "Le terme n°1&nbsp;: <b>" . $MonTableau[0] . "</b> a été
transmis."; echo "<br>";
echo "Le terme n°2&nbsp;: <b>" . $MonTableau[1] . "</b> a été
transmis."; echo "<br>";
?>
<h2>
Avec MonTableauBis :
</h2>
<?
echo "Le terme n°1&nbsp;: <b>" . $MonTableauBis[0] . "</b> a été
transmis."; echo "<br>";
echo "Le terme n°2&nbsp;: <b>" . $MonTableauBis[1] . "</b> a été
transmis."; echo "<br>";
?>

Merci d'avance pour toute idée pour solutionner ce problème.
--
Denis.

2 réponses

Avatar
Vincent

... Maintenant, mon formulaire s'étoffe et j'ai un grand nombre de
variables à conserver. La solution consistant à mettre ces variables
dans un tableau et à passer chacune des entrées du tableau dans une


PHP s'est déjà décarcassé pour toi

coté formulaire :
<form method="POST" action="ton action.php">

coté traitement
foreach($_POST as $key => $valeur)

// $valeur contient les valeurs de toutes les variables du formulaire
// ... c'est y pas beau ?

Vincent
--
http://sommets.org

Avatar
John Gallet
Merci d'avance pour toute idée pour solutionner ce problème.


http://faqfclphp.free.fr/#ss2.15