Check

Formulaires

1 - l’envoi de requêtes

Voici du code HTML sans mise en forme css

Version 1

<form action="action_page.php">
 <label for="log">Login:</label>
 <input type="text" id="log" value="tonton">
 <label for="mdp">mot de passe:</label>
 <input type="password" id="mdp" name="mdp" value="">
 <input type="submit" value="Submit">
</form>

Version 2

<form method="post" action="action_page.php">
  <label for="log">Login:</label>
  <input type="text" id="log" name="log" value="">
  <label for="mdp">mot de passe:</label>
  <input type="text" id="mdp" name="mdp" value="">
  <input type="submit" value="Submit">
</form>
Complétez le tableau d’analyse suivant :
Version 1 Version 2 Aucune Version
L’envoi des données se fait via l’URL
L’envoi des données ne se fait pas via l’URL
La saisie du mot de passe est visible
Un des champs contient déjà une valeur
Toutes les valeurs saisies se retrouvent dans le fichier action_page.php

2 - la Récupération des données

Voici le code d’un formulaire :

 <form method="get" action="action_page.php">
  <label for="label">Nom:</label>
  <input type="text" id="label" name="nom">
  <label for="prenom">Prénom:</label>
  <input type="text" id="mdp" name="prenom">
  <input type="submit" value="Submit">
 </form>

Quelle(s) ligne(s) de code écrire dans la page action_page.php ?

  <p>Bonjour, <?php echo $\_GET[’prenom’]." ".$\_GET[’nom’]; ?>.</p> 
☐  <p>Bonjour, <?php echo $\_GET[’prenom’]." ".$\_GET[’label’]; ?>.</p>  
☐  <p>Bonjour, <?php echo $\_POST[’prenom’]." ".$\_GET[’nom’]; ?>.</p>  
☐  <p>Bonjour, <?php echo $\_POST[’prenom’]." ".$\_POST[’label’]; ?>.</p>  
☐  <p>Bonjour, <?php echo $\_REQUEST[’prenom’]." ".$\_REQUEST[’nom’]; ?>.</p>

3 - le formulaire appelle un formulaire

Voici le code d’un formulaire form2 :

 <form method="get" action="action_page.php?age=<?php echo $_GET[’age’]?>">
  <label for="label">Nom:</label>
  <input type="text" id="label" name="nom">
  <label for="prenom">Prénom:</label>
  <input type="text" id="mdp" name="prenom">
  <input type="submit" value="Submit">
 </form>

Quel est le formulaire qui fait l’appel de form2

Version 1

<form action="form2.php">
    <label for="age">Age:</label>
    <input type="text" id="age" name="age">
    <input type="submit" value="Submit">
</form>

Version 2

<form method="get" action="form2.html">
    <label for="age">Age:</label>
    <input type="text" id="age" name="age">
    <input type="submit" value="Submit">
</form>
☐ Version 1
☐ Version 2

4 - formulaire origine

Soit le code de la page recup.php

<p>Bonjour, <?php echo $\_POST[’login’]." votre mot de passe est ".$\_POST[’mdp’]; ?>.</p>

Quelle version choisir pour afficher ce résultat ?

Version 1

<form method="post" action="recup.php">
    <label for="log">Login:</label>
    <input type="text" id="log"  name="login">
    <label for="mdp">mot de passe:</label>
    <input type="password" id="mdp" name="mdp">
    <input type="submit" value="Submit">
</form>

Version 2

<form method="post" action="recup.php">
    <label for="log">Login:</label>
    <input type="text" id="log" name="log">
    <label for="mdp">mot de passe:</label>
    <input type="text" id="mdp" name="mdp">
    <input type="submit" value="Submit">
</form>

☐ Version 1
☐ Version 2

5 - la liste déroulante

Voici un tableau des pays de la zone euro :

$tabPays=array(
    ’de’ => ’Allemagne’,
    ’at’ => ’Autriche’,
    ’be’ => ’Belgique’,
    ’cy’ => ’Chypre’,
    ’es’ => ’Espagne’,
    ’ee’ => ’Estonie’,
    ’fi’ => ’Finlande’,
    ’fr’ => ’France’,
    ’gr’ => ’Grèce’,
    ’it’ => ’Italie’,
    ’ie’ => ’Irlande’,
    ’lv’ => ’Lettonie’,
    ’lt’ => ’Lituanie’,
    ’lu’ => ’Luxembourg’,
    ’mt’ => ’Malte’,
    ’nl’ => ’Nederland’,
    ’pt’ => ’Portugal’,
    ’sk’ => ’Slovaquie’,
    ’si’ => ’Slovénie’
    );

Version 1

<input type="select" name="langue">
<nom>langue</nom>
<libellé>
    Quelle est pays choisissez vous ?
</libellé>
<?php foreach($tabPays): ?>
<option valeur="<?= $tabPays[’langue’] ?>">
    <?= $pays ?>
</option>
<?php endforeach; ?>
</input>

Version 2

<input type="select">
<nom>langue</nom>
<libellé>
    Quelle est pays choisissez vous ?
</libellé>
<?php foreach($tabPays as $k => $v): ?>
<option valeur="<?= $k ?>" name="langue">
    <?= $v ?>
</option>
<?php endforeach; ?>
</input>
Quelle version choisir pour afficher ce tableau dans une zone de liste d’un formulaire ?
☐ Version 1
☐ Version 2
Dans quelle version, serait-il possible de récupérer la valeur choisie ?
☐ Version 1
☐ Version 2
Quelle sera le nom récupéré par le tableau $_REQUEST ?
☐ $tabPays[’langue’] ☐ $tabPays[$k] ☐ langue

6 - les cases à cocher

Voici un tableau des pays de la zone euro :

$tabPays=array(
    ’de’ => ’Allemagne’,
    ’at’ => ’Autriche’,
    ’be’ => ’Belgique’,
    ’cy’ => ’Chypre’,
    ’es’ => ’Espagne’,
    ’ee’ => ’Estonie’,
    ’fi’ => ’Finlande’,
    ’fr’ => ’France’,
    ’gr’ => ’Grèce’,
    ’it’ => ’Italie’,
    ’ie’ => ’Irlande’,
    ’lv’ => ’Lettonie’,
    ’lt’ => ’Lituanie’,
    ’lu’ => ’Luxembourg’,
    ’mt’ => ’Malte’,
    ’nl’ => ’Nederland’,
    ’pt’ => ’Portugal’,
    ’sk’ => ’Slovaquie’,
    ’si’ => ’Slovénie’
    );

Version 1

<libellé>
        Quelle est pays choisissez vous ?
</libellé>
<?php foreach($tabPays as $v): ?>
   <input type="hidden" value="0">
   <input type="checkbox" name="mon_pays"
                id="<?= $v;?>">
   <label for="<?= $v; ?>">
       <?php echo $v ?>
   </label>
   <br>
<?php endforeach; ?>

Version 2

<libellé>
        Quelle est pays choisissez vous ?
</libellé>
<?php foreach($tabPays as $k => $v): ?>
   <input type="hidden" value="0">
   <input type="checkbox" name="mon_pays[]"
                id="<?= $k;?>">
   <label for="<?= $k; ?>">
       <?php echo $v ?>
   </label>
   <br>
<?php endforeach; ?>
Quelle version choisir pour afficher ce tableau avec une case à cocher devant chaque nom de pays ?
☐ Version 1
☐ Version 2
Dans quelle version, serait-il possible de choisir plusieurs valeurs ?
☐ Version 1
☐ Version 2
Quelle sera le nom récupéré par le tableau $_REQUEST ?
☐ $tabPays[$v]
☐ $tabPays[$k]
☐ mon_pays
☐ mon_pays = array(…)

Défi

Cochez des pays et relancer le formulaire avec les pays choisis, déjà cochés.