Passage d'une zone de formulaire calculée

ocamar
Invité n'ayant pas de compte PHPfrance

13 mars 2005, 15:10

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

Mammouth du PHP | 1339 Messages

13 mars 2005, 15:50

$_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 ?
Bon sinon tu me fais un message privé et on se fait un TeamViewer

ocamar
Invité n'ayant pas de compte PHPfrance

13 mars 2005, 16:16

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

Mammouth du PHP | 1339 Messages

13 mars 2005, 16:18

<?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 ...
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Invité
Invité n'ayant pas de compte PHPfrance

13 mars 2005, 16:37

<?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é. :?

Mammouth du PHP | 1339 Messages

13 mars 2005, 17:38

T'as une url ?
Bon sinon tu me fais un message privé et on se fait un TeamViewer

ocamar
Invité n'ayant pas de compte PHPfrance

13 mars 2005, 18:23

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: