Aller au contenu

Sujets conseillés

Posté (modifié)

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.

Modifié par BonBackLink
Modo - Portekoi : Merci d'utiliser codebox pour les codes à rallonge
Posté

Tout simplement parce que tu le réinitialises au début de ton code :

<?php $s=1 ?>

Il faudrait que tu testes l'existence de ta variable (et de toutes les autres également)

<?php
if(isset($_POST['s']))
$s = $_POST['s'];
else
$s = 1;
?>

Posté (modifié)
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.

Modifié par BonBackLink
Posté

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.

Posté (modifié)

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.

Modifié par BonBackLink

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...