Page 1 sur 1

Passage d'une zone de formulaire calculée

Posté : 13 mars 2005, 15:10
par ocamar
Bonjour,

Sans doute un pb de débutante ... :oops: ...mais ça fait des heures ke je suis là-dessus!


G 2 pages php. La 1ère contient le formulaire et un champ caché auquel je fais passer une valeur.
C cette valeur ke je voudrais récupérer dans la 2nde page. Mais ça ne passe pas (kan elle est composée de valeurs du formulaire)! On dirait kelle s'annule kan on passe à le 2nde page.

G mis un petit exemple rapide pour expliquer le pb:

1. test.php

<?php
switch ($_POST['sel'])
{
case 1:
echo 'bouton sélectionné: 1 <br>';
break;
case 2:
echo 'bouton sélectionné: 2 <br>';
break;
default:
echo 'valeur nulle <br>';
break;
}
$_POST['val']=$sel;
echo 'val champ caché: '.$_POST['val'];
?>
<form name="formu" action="testAppel.php" method="POST">
Texte à faire passer:<input type="text" name="texte">
<input type="radio" name="sel" value=1 >Un
<input type="radio" name="sel" value=2 >Deux
<input type="hidden" name="val">
<input type="submit">
</form>

2. testAppel.php

<?php
echo 'valeur champ texte : '.$_POST['texte'].'<br>';
// cette valeur passe bien
echo 'valeur champ caché : '.$_POST['val'].'<br>';
// cette valeur ne passe jamais!
?>

Un grand merci d'avance à celui ou celle qui pourrait me donner un coup de pouce pour résoudre cette énigme...

Posté : 13 mars 2005, 15:50
par Elie
$_POST['val'] = $sel;
echo 'val champ caché: '.$_POST['val'];

Je comprend pas trop ces lignes :)
Si tu veux que val vaut quelque chose met lui un VALUE deja :)

En quoi val et sel devrait avoir un rapport ?

Passage d'une zone de formulaire calculée

Posté : 13 mars 2005, 16:16
par ocamar
Salut!
En fait, mon pb est + complexe (formulaire pour sélectionner les options d'affichage :nombre de lignes, ordre de tri, champs à afficher des résu d'une req), mais G pris un petit exemple pour illustrer...
$_POST['val'] = $sel;
echo 'val champ caché: '.$_POST['val'];

Je comprend pas trop ces lignes :)

echo C simplement un contrôle pour afficher la valeur de la variable et voir si la zone val reprend bien la valeur de la zone sel.
Si tu veux que val vaut quelque chose met lui un VALUE deja :)
Même en mettant un VALUE , la valeur ne passe pas dans la 2ème page :?
<input type="hidden" name="val"
value="<?php echo $_POST['sel']; ?>" />
En quoi val et sel devrait avoir un rapport ?
ici, pas de rapport. uniquement pour voir comment faire passer une valeur d'une zone de formulaire à la page suivante

je ne comprends pas pk cette valeur ne passe pas alos ke les autres champs du formulaire passent bien

Merci d'avance....

Posté : 13 mars 2005, 16:18
par Elie
<?php echo $_POST['sel']; ?>

Et si tu remplace ca par une valeur fixe car si $_POST['sel'] est null c'est normale que ca passe rien a l'autre page ...

Posté : 13 mars 2005, 16:37
par Invité
<?php echo $_POST['sel']; ?>

Et si tu remplace ca par une valeur fixe car si $_POST['sel'] est null c'est normale que ca passe rien a l'autre page ...
kan je donne une valeur d'une variable ki ne provient pas d'un champ du formu, ça passe.
et tant ke je reste sur la 1ère page, les valeurs sont ok.

On dirait ke la valeur de val (ki contient la valeur du champ sel) s'annule kan la 2nde page est appeleé. :?

Posté : 13 mars 2005, 17:38
par Elie
T'as une url ?

Posté : 13 mars 2005, 18:23
par ocamar
non

G simplifié mon exemple:
en fonction de la sélection du bouton radio (choix), je donne une valeur à un champ caché (valeurAPasser) du formulaire :

<?php
if ($choix==2)
{
$str="LoginUser,IdPays";
} elseif ($choix==1) {
$str="*";
}
?>
<form name="formu" action="appel.php" method="POST">
<input type="hidden" name="valeurAPasser" value="<?php echo $str; ?>"/>
Champ texte:<input type="texte" name="texte"/><br>
<input type="radio" name="choix" value=1>Tout sélectionner
<input type="radio" name="choix" value=2>Login et pays
<input type="submit" name="submit" value="Afficher"
</form>

appel.php:
<?php
echo 'champ texte : '.$_POST['texte'].'<br>';
echo 'champ ValeurAPasser : '.$_POST['valeurAPasser'].'<br>';
?>

Je n'arrive pas à récupérer la valeur de valeurAPasser car elle est annulée lors du passage à la 2ème page.

Si je met else au lieu de elseif dans la 1ère page, la chaîne retournée est toujours "*" car la valeur de sel est null!

Je ne comprends pas pourkoi... :cry: