Version complète: sur le forum Webmaster Hub : Problème avec form
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
BonBackLink
Bonjour,

cela doit être tout bête, mais je ne trouve pas. J'ai un script qui me semble t'il marchait, et je m'appercoit qu'il ne marche plus. Je suis maintenant en php version 4.4.8 le code du script est :

CODE
<form method="post" action="#formCalcul" id="formCalcul">
<p align="left">
<?php $s=1 ?>
s (mm)
<input type="text" name="s">

<br/>
p (mm)
<input type="text" name="p">
<br/>
t (mm)
<input type="text" name="t">
<br/>
l (cm)
<input type="text" name="l">
<br/>
Rayon
<?php $a=($s/10 + $t/10)/4 - $p ?>
<input type="text" name="textfield2" value="<?php echo ( $a + ($l) / ( $a) )/10 ?>"> m
<br/>
</p>
<p>
<input type="submit" name="Submit32" value="Calculer">

</p>
</form>


En fait apparament les valeurs entrées dans le formulaire ne sont pas transmises. Par exemple $s reste à un quoi que l'on tape. Je ne vois pas en quoi mon formulaire <form method="post est défaillant.

Donc si quelqu'un à une idée merci d'avance.
Portekoi
Bonjour,

J'ai pas tout capté... où est le code qui récupère la saisie?
captain_torche
Tout simplement parce que tu le réinitialises au début de ton code :
CODE
<?php $s=1 ?>

Il faudrait que tu testes l'existence de ta variable (et de toutes les autres également)
CODE
<?php
if(isset($_POST['s']))
     $s = $_POST['s'];
else
     $s = 1;
?>
BonBackLink
CITATION
tout simplement parce que tu le réinitialises au début de ton code :


Ben non, s est mise à 1 avant d'être demandée par le formulaire. D'autre part les valeurs des autres variables ne sont pas changés non plus.

En fait j'ai rajouté cett einitialisation a 1 pour éviter une division par zero.

Merci.
captain_torche
Lorsque tu valides ton formulaire, tu réaffiches cette même page, et par conséquent, exécutes son code.
Tant que tu n'auras pas de condition (si $_POST['s'] est défini), tu écraseras cette valeur à chaque fois.
BonBackLink
A ok merci capitain torche, je vais corriger cette erreur.

Mais il me semble qu'il y a un autre problème les valeurs des autres variables ne sont pas changées lorsque je les teste avec echo. Et avant que je réinitialise s à 1, j'avais toujours une division par 0 car s était à 0.

On dirait que le formulaire ne marche pas et ne change pas les valeurs des variables.


Merci.
BonBackLink
Je trouve toujours pas l'erreur huh.gif


Si quelqu'un a une idée Merci.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.