Previous Up Next
Université Lille 3-Charles de GaulleUFR de Mathématiques Sciences Économiques et Sociales

Chapitre 24  Premiers formulaires en PHP, corrigés

  1. Bonjour machin, vous avez xx ans...
    Le formulaire:
    http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/traitement-01.html
    <HTML><BODY><FORM METHOD="get" ACTION="traitement-01.php">
    <TABLE>
    <TR>
      <TD ALIGN="right">Votre nom</TD>
      <TD><INPUT NAME="nom"></TD>
    </TR><TR>
      <TD ALIGN="right">Votre âge</TD>
      <TD><INPUT NAME="age"></TD>
    </TR><TR>
      <TD ALIGN="center" COLSPAN="2"><INPUT TYPE="submit" VALUE="envoyer">
    </TR>
    </TABLE>
    </FORM></BODY></HTML>
    
    Son traitement:
    http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/traitement-01.php
    <HTML><BODY>
    <?php
      echo "Bonjour $nom, vous avez $age ans.\n";
    ?>
    </BODY></HTML>
    
  2. Montpellier.
    Le formulaire:
    http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/traitement-02.html
    <HTML><BODY><FORM METHOD="get" ACTION="traitement-02.php">
    <TABLE>
    <TR>
      <TD ALIGN="right">Distance</TD>
      <TD><INPUT NAME="distance"></TD>
    </TR><TR>
      <TD ALIGN="right">Heures/Jour</TD>
      <TD><INPUT NAME="heures"></TD>
    </TR><TR>
      <TD ALIGN="right">Jours</TD>
      <TD><INPUT NAME="jours"></TD>
    </TR><TR>
      <TD ALIGN="center" COLSPAN="2"><INPUT TYPE="submit" VALUE="envoyer">
    </TR>
    </TABLE>
    </FORM></BODY></HTML>
    
    Son traitement:
    http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/traitement-02.php
    <HTML><BODY>
    <?php
    echo "Le bébé a parcouru $distance km, "
        ."à raison de $heures heures par jour, "
        ."pendant $jours jours.<BR>\n"
        ."Sa vitesse est donc de "
        .($distance/$heures/$jours)." km/h.\n";
    ?>
    </BODY></HTML>
    
  3. Bonjour M. Truc.
    Le formulaire:
    http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/traitement-03.html
    <HTML><BODY><FORM METHOD="get" ACTION="traitement-03.php">
    <TABLE>
    <TR>
      <TD ALIGN="right">Sexe</TD>
      <TD>
         <INPUT NAME="sexe" TYPE="radio" VALUE="M" CHECKED>M
         <INPUT NAME="sexe" TYPE="radio" VALUE="F">F
      </TD>
    </TR><TR>
      <TD ALIGN="right">Nom</TD>
      <TD><INPUT NAME="nom"></TD>
    </TR><TR>
      <TD ALIGN="center" COLSPAN="2"><INPUT TYPE="submit" VALUE="envoyer">
    </TR>
    </TABLE>
    </FORM></BODY></HTML>
    
    Son traitement:
    http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/traitement-03.php
    <HTML><BODY>
    <?php
    if ($sexe=="M") {
      echo "Bonjour Monsieur $nom.";
    } else {
      echo "Bonjour Madame $nom.";
    }
    ?>
    </BODY></HTML>
    
  4. Permis de chasse:
    Le formulaire:
    http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/traitement-04.html
    <HTML><BODY><FORM METHOD="get" ACTION="traitement-04.php">
      <TABLE><TR>
        <TD ALIGN="right">Poules</TD>
        <TD><INPUT NAME="poules"></TD>
      </TR><TR>
        <TD ALIGN="right">Chiens</TD>
        <TD><INPUT NAME="chiens"></TD>
      </TR><TR>
        <TD ALIGN="right">Vaches</TD>
        <TD><INPUT NAME="vaches"></TD>
      </TR><TR>
        <TD ALIGN="right">Amis</TD>
        <TD><INPUT NAME="amis"></TD>
      </TR><TR>
        <TD ALIGN="center" COLSPAN="2"><INPUT TYPE="submit" VALUE="envoyer">
      </TR></TABLE></FORM>
    </BODY></HTML>
    
    Son traitement:
    http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/traitement-04.php
    <HTML><BODY>
    <?php
    echo "Vous avez tué&nbsp;:\n";
    echo "<UL>\n";
    echo "  <LI>$poules poules,\n";
    echo "  <LI>$chiens chiens,\n";
    echo "  <LI>$vaches vaches,\n";
    echo "  <LI>$amis amis.\n";
    echo "</UL>\n";
    $perdu=$poules*1+$chiens*3+$vaches*5+$amis*10;
    echo "Vous avez donc perdu&nbsp;: "
      ."$poules*1 + $chiens*3 + $vaches*5 + $amis*10=$perdu points."
      ."\n<BR>\n";
    $permis=floor($perdu/100);
    if ($permis<1) {
      echo "<B>Votre permis est encore valide, mais attention&nbsp;!</B>\n";
    } else {
      echo "<B>Vous avez épuisé $permis permis, vous devez payer "
        .($permis*1000)." francs.\n";
    }
    ?>
    
  5. Calculatrice, le formulaire et son traitement:
    http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/traitement-05.php
    <HTML><BODY>
     Avec liste déroulante&nbsp;:<BR>
      <FORM METHOD="get" ACTION="traitement-05.php">
      <CENTER>
      <INPUT NAME="a" SIZE="5">
      <SELECT NAME="par">
        <OPTION VALUE="+">+
        <OPTION VALUE="-">-
        <OPTION VALUE="*">*
        <OPTION VALUE="/">/
      </SELECT>
      <INPUT NAME="b" SIZE="5">
      <BR>
      <INPUT TYPE="submit" VALUE="envoyer">
      </CENTER>
      </FORM><HR>
      <!-- --------------------------------------------------- -->
      Avec boutons radios&nbsp;:<BR>
      <FORM METHOD="get" ACTION="traitement-05.php">
      <CENTER>
      <TABLE><TR>
       <TD>
         <INPUT NAME="a" SIZE="5">
       </TD><TD>
         <INPUT TYPE="radio" NAME="par" VALUE="+" CHECKED>+<BR>
         <INPUT TYPE="radio" NAME="par" VALUE="-">-<BR>
         <INPUT TYPE="radio" NAME="par" VALUE="*">*<BR>
         <INPUT TYPE="radio" NAME="par" VALUE="/">/
       </TD><TD>
         <INPUT NAME="b" SIZE="5">
       </TD>
      </TR><TR>
       <TD COLSPAN="3" ALIGN="center">
         <INPUT TYPE="submit" VALUE="envoyer">
       </TD>
      </TABLE></CENTER>
      </FORM><HR>
      <!-- --------------------------------------------------- -->
      <?php
      if (isset($par)) {
        echo "<CENTER>Le résultat du calcul précédent est&nbsp;: "
            ."<TT>$a$par$b=";
        if ($par=="+") {
          echo $a+$b;
        } elseif ($par=="-") {
          echo $a-$b;
        } elseif ($par=="*") {
          echo $a*$b;
        } else {
          echo $a/$b;
        }
        echo "\n</CENTER>\n";
      }
    ?>
    </BODY></HTML>
    
  6. Compléter les additions :
    http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/addition.php
    <HTML><BODY>
    Remplis la case avec le bon nombre pour que le calcul soit correct&nbsp;:
    <?php
    $ok=0;
    if (isset($a)) {
      echo "Tu viens d'essayer $a+$c=$b.<BR>\n";
      if ($a+$c==$b) {
        echo "C'est exact. Bravo!";
        $ok=1;
      } else {
        echo "C'est faux, essaie encore.";
      }
    } else {
      $b=rand(50,500);
      $a=rand(0,$b);
    }
    if ($ok==0) {
    ?>
    <FORM METHOD="post">
    <?php echo $a;?>+<INPUT SIZE="4" NAME="c">=<?php echo $b;?>
     &nbsp;&nbsp;<INPUT TYPE="submit" VALUE="verifier">
    <INPUT TYPE="hidden" NAME="a" VALUE="<?php echo $a;?>">
    <INPUT TYPE="hidden" NAME="b" VALUE="<?php echo $b;?>">
    </FORM>
    <?php
    }
        echo "<CENTER><FORM METHOD=\"post\">"
            ."<INPUT TYPE=\"submit\" VALUE=\"Recommencer\"></FORM>"
            ."</CENTER>\n";
    ?>
    </BODY></HTML>
    
  7. L'ordinateur choisit, vous devinez :
    http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/devinette01.php
    <HTML><BODY>
    <H1>Devinette n°1</H1>
    <H2>Vous devez deviner un nombre que le programme a choisi</H2>
    <?php
    // si le jeu est commencé
    if (isset($limite)){
      // si c'est la première fois
      if (!isset($guess)) { 
        // choisir le nombre à deviner
        $guess=rand(0,$limite); 
        // c'est le premier essai
        $nbessai=1;
      }
      echo "Le nombre que j'ai choisi est entre 0 et $limite.<BR>\n";
     // si il y a une proposition à traiter
      if (isset($proposition)){
        $proposition=$proposition*1;
        echo "Vous venez de proposer $proposition&nbsp;: ";
    // si le joueur a trouvé
        if ($proposition==$guess) { 
          echo"\n<H3 ALIGN=\"center\">Bravo&nbsp;! Trouvé en "
            .($nbessai-1)." essais</H3>\n";
          echo "<CENTER><FORM METHOD=\"post\">\n";
          echo "<INPUT TYPE=\"submit\" VALUE=\"Recommencer\">\n";
          echo "</FORM></CENTER>\n";
        } else { // $proposition!=$guess : pas trouvé
          if ($proposition<$guess) { // proposition trop petite
            echo "Trop petit.<P>\n";
          }
          if ($proposition>$guess) { // proposition trop grande
            echo "Trop grand.<P>\n";
          }
        } // fin de if($proposition==$guess)
      }
        if (isset($guess)&&($proposition!=$guess)) {
        echo "C'est votre ".$nbessai."<SUP>".($nbessai==1?"er":"ème")
          ."</SUP> essai.<P>\n";
    ?>
    <TABLE><TR><TD>
    <FORM METHOD="post">
       Que proposez-vous&nbsp;? <INPUT NAME="proposition" SIZE="4">
       <INPUT TYPE="hidden" NAME="guess" VALUE="<?php echo $guess;?>">
       <INPUT TYPE="hidden" NAME="limite" VALUE="<?php echo $limite;?>">
       <INPUT TYPE="hidden" NAME="nbessai" VALUE="<?php echo $nbessai+1;?>">
       <INPUT TYPE="submit" VALUE="Tester votre proposition">
    </FORM></TD><TD><FORM METHOD="post">
       <INPUT TYPE="submit" VALUE="Abandonner">
    </FORM>
    </TD></TR></TABLE>
    <?php
       } // fin de if(isset($guess)&&($proposition!=$guess))
    } else { // on commence un jeu
    ?>
    <FORM METHOD="post">
       Choisissez la limite (donc la difficulté)&nbsp;: 
    <SELECT NAME="limite">
       <OPTION SELECTED>10
       <OPTION>100
       <OPTION>1000
       <OPTION>10000
    </SELECT>
    <INPUT TYPE ="submit" VALUE="Commencer">
    </FORM>
    <?php
    }
    ?>
    </BODY></HTML>
    
  8. Vous choisissez, l'ordinateur devine :
    http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/devinette01.php
    <HTML><BODY>
    <H1>Devinette n°2</H1>
    <H2>Le programme va deviner le nombre que vous avez choisi</H2>
    <?php
    // si c'est la première exécution
    if (!isset($min)) {
      // demander à selectionner la limite
    ?>
    Sélectionnez la limite supérieure, puis quand vous avez 
    choisi le nombre non nul que je dois deviner (sans me le dire) 
    cliquez sur <EM>Commencer</EM>.
    <P>
    <FORM METHOD="post">
       Limite supérieure&nbsp;? <SELECT NAME="max">
       <OPTION SELECTED>10
       <OPTION>100
       <OPTION>1000
       <OPTION>10000
    </SELECT>
    <INPUT TYPE="hidden" NAME="min" VALUE="0">
    <INPUT TYPE="hidden" NAME="nbessai" VALUE="0">
    <INPUT TYPE ="submit" VALUE="Commencer">
    </FORM>
    <?php
    } else {
      $nbessai++;
      if ($result=="=") {  // si le nombre est trouvé
        echo "<H3 ALIGN=\"center\">Gagné en $nbessai essais.</H3>\n";
      } elseif ($result=="+") { // trop grand, on réduit la borne supérieure
        $max=$test;
      } elseif ($result=="-") { // trop petit, on réduit la borne inférieure
        $min=$test;
      }
      // si on n'a pas trouvé
      if ($result!="=") {
        if ($min==$max){
          // les bornes sont égalers : il y a eu triche
          echo "<H3 ALIGN=\"center\"><FONT COLOR=\"red\">"
                      ."Vous avez triché</FONT></H3>\n";
        } else { // une nouvelle proposition
          $test=floor(($min+$max)/2);
          if ($max-$min==1) {
            $test=$max;
          }
          echo "<CENTER><TABLE><TR><TD ALIGN=\"center\" COLSPAN=\"3\">";
          echo "Mon ".$nbessai."<SUP>".($nbessai==1?"er":"ème")."</SUP> essai";
          echo " est le nombre <B>$test</B></TD></TR>\n";
    ?>
        
       <TD><FORM METHOD="post">
           <INPUT TYPE="hidden" NAME="result" VALUE="-">
           <INPUT TYPE="hidden" NAME="test" VALUE="<?php echo $test;?>">
           <INPUT TYPE="hidden" NAME="min" VALUE="<?php echo $min;?>">
           <INPUT TYPE="hidden" NAME="max" VALUE="<?php echo $max;?>">
           <INPUT TYPE="hidden" NAME="nbessai" VALUE="<?php echo $nbessai;?>">
           <INPUT TYPE="submit" VALUE="Trop petit">
           </FORM></TD>
       <TD><FORM METHOD="post">
           <INPUT TYPE="hidden" NAME="result" VALUE="=">
           <INPUT TYPE="hidden" NAME="test" VALUE="<?php echo $test;?>">
           <INPUT TYPE="hidden" NAME="min" VALUE="<?php echo $min;?>">
           <INPUT TYPE="hidden" NAME="max" VALUE="<?php echo $max;?>">
           <INPUT TYPE="hidden" NAME="nbessai" VALUE="<?php echo $nbessai;?>">
           <INPUT TYPE="submit" VALUE=" G A G N É ! ! ">
           </FORM></TD>
       <TD><FORM METHOD="post">
           <INPUT TYPE="hidden" NAME="test" VALUE="<?php echo $test;?>">
           <INPUT TYPE="hidden" NAME="result" VALUE="+">
           <INPUT TYPE="hidden" NAME="min" VALUE="<?php echo $min;?>">
           <INPUT TYPE="hidden" NAME="max" VALUE="<?php echo $max;?>">
           <INPUT TYPE="hidden" NAME="nbessai" VALUE="<?php echo $nbessai;?>">
           <INPUT TYPE="submit" VALUE="Trop grand">
           </FORM></TD>
      </TR></TABLE></CENTER>
    <?php
          }
       }
    }
    if (isset($min)){
    ?>
    <CENTER><FORM METHOD="post">
       <INPUT TYPE="submit" VALUE="Recommencer">
    </FORM></CENTER>
    <?php
    }
    ?>
    </BODY></HTML>
    
  9. Le pipotron et ses avatars :
D.Gonzalez (gonzalez@univ-lille3.fr) en date du th , 

Previous Up Next