par
sirakawa » 17 mars 2013, 21:24
Un formulaire qui n'a pas de partie action relance la page où il se trouve: il est donc normal qu'on repasse par le formulaire.
On voit bien ce que tu voudrais faire avec l'input calculez, mais pour qu'il serve, il faudrait qu'il soit testé avant le formulaire;
possible, mais un peu pénible à mettre en place.
Il est beaucoup plus simple de diviser en deux pages:
L'une avec le formulaire, apelons-la saisie.html, l'autre avec le calcul, calcul.php
saisie.html est plus ou moins ce que tu avais écrit
il n'y a pas d'attribut name niid pour les options du select. Ils sont ignorés.
<form method="get" action="calcul.php">
<select name="tirage" id="tirage">
<option value="1">- 50.000 ex.</option>
<!-- -->
</select>
<!--1) Le type d'article n'est pas une checkbox (on peut choisir plusieurs valeurs renvoyées comme un tableau:) Ce serait:
<input type="checkbox" name="type[]" id="value1" value="1">traitement de dépêches, comptes-rendus
<input type="checkbox" name="type[]" id="value2" value="2">critiques et commentaires
<input type="checkbox" name="type[]" id="value3" value="3">articles de fond, interviews, reportages
Il vaut mieux:-->
<input type="radio" name="type" id="value1" value="1" />traitement de dépêches, comptes-rendus
<input type="radio" name="type" id="value2" value="2" />critiques et commentaires
<input type="radio" name="type" id="value3" value="3" />articles de fond, interviews, reportages
<!-- supprimer <input type="hidden" name="calc" value="yes">-->
<!--le reste identique-->
calcul.php
<?PHP // ajouter PHP
$tirage=('tirage'); //inutile car le selct passe une valeur qui a pour nom tirage, mais qu'il faut récupérer
$value1=('value1'); //inutile
$value2=('value2'); // inutile
$value3=('value3');//inutile
$tirage = $_GET['tirage'];
if ($tirage='1' && $value1='1')// cette aberration se remplace aisément par un
switch ($tirage)
{
case 1:
switch($type)
{
case 1:
$tarif = 0.0203333333333333333;
break;
//etc
}
break;
//etc
}
Un formulaire qui n'a pas de partie action relance la page où il se trouve: il est donc normal qu'on repasse par le formulaire.
On voit bien ce que tu voudrais faire avec l'input calculez, mais pour qu'il serve, il faudrait qu'il soit testé avant le formulaire;
possible, mais un peu pénible à mettre en place.
Il est beaucoup plus simple de diviser en deux pages:
L'une avec le formulaire, apelons-la saisie.html, l'autre avec le calcul, calcul.php
saisie.html est plus ou moins ce que tu avais écrit
il n'y a pas d'attribut name niid pour les options du select. Ils sont ignorés.
[html]
<form method="get" action="calcul.php">
<select name="tirage" id="tirage">
<option value="1">- 50.000 ex.</option>
<!-- -->
</select>
<!--1) Le type d'article n'est pas une checkbox (on peut choisir plusieurs valeurs renvoyées comme un tableau:) Ce serait:
<input type="checkbox" name="type[]" id="value1" value="1">traitement de dépêches, comptes-rendus
<input type="checkbox" name="type[]" id="value2" value="2">critiques et commentaires
<input type="checkbox" name="type[]" id="value3" value="3">articles de fond, interviews, reportages
Il vaut mieux:-->
<input type="radio" name="type" id="value1" value="1" />traitement de dépêches, comptes-rendus
<input type="radio" name="type" id="value2" value="2" />critiques et commentaires
<input type="radio" name="type" id="value3" value="3" />articles de fond, interviews, reportages
<!-- supprimer <input type="hidden" name="calc" value="yes">-->
<!--le reste identique-->[/html]
calcul.php
[php]
<?PHP // ajouter PHP
$tirage=('tirage'); //inutile car le selct passe une valeur qui a pour nom tirage, mais qu'il faut récupérer
$value1=('value1'); //inutile
$value2=('value2'); // inutile
$value3=('value3');//inutile
$tirage = $_GET['tirage'];
if ($tirage='1' && $value1='1')// cette aberration se remplace aisément par un
switch ($tirage)
{
case 1:
switch($type)
{
case 1:
$tarif = 0.0203333333333333333;
break;
//etc
}
break;
//etc
}
[/php]