Version complète: sur le forum Webmaster Hub : Problème avec les boutons radio
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
kattig
Bonjour,
Je suis actuellement entrain de faire un convertisseur qui convertit les dollars en euros et inversement selon les cas où l'on choisit un bouton radio ou l'autre.

Voici mon code:
CITATION
<center>
<font color="red"><h1>Convertisseur de dollard en euros</h1></font>
<form action="convert.php" method="POST">
<input type="hidden" name="action" value="resultat"><br>
<table border="0"><tr>
<td>Conversion en dollar: <input type="radio" name="conversion" value="dollar"></td>
<td>Conversion en euro: <input type="radio" name="conversion" value="euro"></td>
</tr>
<tr>
<td><input type="text" name="monnaie"></td>
<td><input type="submit" value="calcul"></td></tr>
</table>
</form>
<?php
if(isset($_POST['action']))
{
    if($_POST['conversion']=='euro')
    {
    if(empty($_POST['monnaie']))
    {
  echo '<h2> Tapez une valeur s\'il vous plait. </h2>';
    }
    else
    {
  $dol=$_POST['monnaie'];
  if($dol >0)
  {
          $convert=0.83*$dol;
      echo 'R&eacute;sultat: '.$convert.' euros';
  }
  else
  {
      echo '<h2> Tapez correctement la valeur SVP </h2>';
  }
    }
    }
    else
    {
    if($_POST['conversion']=='dollar')
    {
    if(empty($_POST['monnaie']))
    {
  echo '<h2> Tapez une valeur s\'il vous plait. </h2>';
    }
    else
    {
  $dol=$_POST['monnaie'];
  $dec = (float) $_POST['monnaie'];
  if($dol >0)
  {
      $convert=$dol/0.83;
      echo 'R&eacute;sultat: '.$convert.' euros';
  }
  else
  {
      echo '<h2> Tapez correctement la valeur SVP </h2>';
  }
    }
  }
  else
  {
  echo '<h2>Choisissez la monnaie SVP.</h2>';
  }
  }
}
?>

</center>


Que je sélectionne un bouton radio ou pas, que j'entre une valeur ou pas, le résultat, après soumission du formulaire, est toujours le même: les boutons radios disparaissent et il affiche le message: 'Tapez une valeur s'il vous plait'. A croire qu'il ne prend pas en compte les valeurs que j'ai tapé...

Qu'en pensez-vous? Pourriez-vous m'aidez?

Je vous remercie d'avance pour votre aide.

kattig
captain_torche
J'ai essayé ton code chez moi, et bien qu'il soit un peu fouillis, il fonctionne très bien.

Le seul souci qu'il pourrait y avoir, serait que la page que tu nous montres, ne soit pas 'convert.php', et que convert.php en soit une autre, au traitement incomplet; ce qui expliquerait la disparition des champs du formulaire.
kattig
Bonjour,
Je vous remercie pour votre aide smile.gif
Cependant, le code ici présent est dans la page convert.php ... Je ne sais pas pourquoi cela ne marche pas chez moi...
Pensez-vous que cela est du à EasyPHP?

kattig
captain_torche
Je ne pense pas, vu que j'ai testé sous EasyPHP.
Dans ce cas, pourrais-tu donner l'intégralité du code de ta page (dans un champ CODEBOX) ?

Parce que tel qu'il est présenté, il n'y a aucun obstacle à l'affichage du formulaire, avant la gestion du code PHP.
kattig
Voici l'intégralité de mon code:

CODE

<html>
<head>
<title>Convertisseur</title>

</head>
<body bgcolor="#F5B800">

<center>
<font color="red"><h1>Convertisseur de dollard en euros</h1></font>
<form action="convert.php" method="POST">
<input type="hidden" name="action" value="resultat"><br>
<table border="0"><tr>
<td>Conversion en dollar: <input type="radio" name="conversion" value="dollar"></td>
<td>Conversion en euro: <input type="radio" name="conversion" value="euro"></td>
</tr>
<tr>
<td><input type="text" name="monnaie"></td>
<td><input type="submit" value="calcul"></td></tr>
</table>
</form>
<?php
if(isset($_POST['action']))
{
if($_POST['conversion']=='euro')
{
if(empty($_POST['monnaie']))
{
echo '<h2> Tapez une valeur s\'il vous plait. </h2>';
}
else
{
$dol=$_POST['monnaie'];
if($dol >0)
{
$convert=0.83*$dol;
echo 'R&eacute;sultat: '.$convert.' euros';
}
else
{
echo '<h2> Tapez correctement la valeur SVP </h2>';
}
}
}
else
{
if($_POST['conversion']=='dollar')
{
if(empty($_POST['monnaie']))
{
echo '<h2> Tapez une valeur s\'il vous plait. </h2>';
}
else
{
$dol=$_POST['monnaie'];
$dec = (float) $_POST['monnaie'];
if($dol >0)
{
$convert=$dol/0.83;
echo 'R&eacute;sultat: '.$convert.' euros';
}
else
{
echo '<h2> Tapez correctement la valeur SVP </h2>';
}
}
}
else
{
echo '<h2>Choisissez la monnaie SVP.</h2>';
}
}
}
?>

</center>

</body>
</html>


Merci encore pour votre aide [sourire].

kattig
captain_torche
Ben, je ne vois toujours pas où est le souci; ça fonctionne parfaitement chez moi.
kattig
C'est vraiement bizarre...
Je ne sais pas pourquoi cela bloque. Si cela fonctionne chez vous c'est que mon code est bon. Non?
Peut-être n'avons nous pas la même version?
Ce n'est pas grave...
Je vous remercie d'avoir bien voulu prendre un peu de votre temps pour m'aider smile.gif
Au moins, je sais que cela fonctionne (bien que cela ne soit pas le cas chez moi).

Je vous souhaite une bonne journée captain_torche.

kattig
captain_torche
Tu as quelle version d'EasyPHP ?
Tu aurais un serveur gratuit (type free.fr), où tu pourraos mettre ta page ?
kattig
J'ai la version 1-8 . Pour l'instant, je ne fais que m'entrainer concernant le PHP. Ainsi, je ne fais pas de site pour l'instant... Il faut encore que je revoie plusieurs cours pour avoir des bases assez solide.
Avez-vous la même version que moi?

kattig
captain_torche
Oui, j'ai la même.
Comment appelles-tu ta page ?
Via http://localhost/convert.php ?
kattig
Et bien, je sais maintenant pourquoi cela ne fonctionne pas.
Au début, j'avais fait un convertisseur assez simple juste pour que je puisse voir si j'arrivais, ainsi, je l'avais appelée convert.php
Et lorsque j'ai fait le deuxième convertisseur qui me posait problème. J'étais complètement sûre que j'étais sur la même page..
Je viens de revérifier le nom de la page et c'est convert2.php au lieu de convert.php ...
Je peux être idiote des fois... [gênée]
Une simple erreur dans le nom...
Je suis vraiement confuse...

Merci mille fois pour votre patience afin de résoudre mon problème [sourire]
Merci.

En regardant l'heure, vous allez certainement aller déjeuner. Ainsi, je vous souhaite un bon appétit et vous remercie encore pour votre aide.

Bonne journée.

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