Cours par Webcam

Cours par Webcam

Formateur Web pour adultes depuis plus 11 ans, je vous propose des COURS collectifs par WEBCAM en LIVE pour booster vos connaissances et être autonome dans la création de site.

En savoir plus

PHP - Bases

PHP - Algorithmie

PHP - Chaîne

PHP - Tableau

PHP - Formulaires

PHP - Fonctions Usuelles

Données entres pages

Environnement et Interaction

PHP objet (POO)

Facebook
Twitter
LinkedIn

Formulaire : retourner des données

Les erreurs de saisie au niveau du formulaire doivent être signalées à l’internaute et vous devez retourner les valeurs saisies qui sont correctes.

Il faut donc infiltrer du code PHP dans la structure HTML du formulaire pour retourner les données récupérées qui sont correctes et afficher les messages d’erreur. L’instruction echo sera utiliser pour afficher les retours.

Champ de texte

S’il s’agit d’un champ de texte simple, la retour de la saisie se fait grâce à l’attribut value dont la valeur sera générée dynamiquement par PHP. Le contenu généré correspond à la valeur retourné par la méthode POST.

Récupération de la valeur saisie en PHP :

<?php
$pseudo = "";
if(isset($_POST['envoi'])){ // si formulaire soumis
$pseudo = $_POST['pseudo'];
}
?>

Retour de la valeur saisie en HTML :

<form action="retourner-donnees-formulaire.php" method="post">
Pseudo :  <input type="text" name="pseudo" value="<?php echo $pseudo; ?>" />
</form>

Zone de tetxe

S’il s’agit d’une zone de texte, PHP retournera la saisie entre les balises <textarea>.

Récupération de la valeur saisie en PHP :

<?php
$message = "";
if(isset($_POST['envoi'])){ // si formulaire soumis
$message = $_POST['message'];
}
?>

Retour de la valeur saisie en HTML :

<form action="retourner-donnees-formulaire.php" method="post">
Message :  <textarea name="message"> <?php echo $message; ?> </textarea>
</form>

Case à cocher

S’il s’agit d’une case à cocher qui a été cochée, la technique consiste à utiliser en HTML l’attribut checked.

Récupération de l’information en PHP :

<?php
$coche = "";
if(isset($_POST['envoi'])){ // si formulaire soumis
 if(isset($_POST['coche'])){
  $coche = "checked";
 }
}
?>

Retour de la réponse en HTML :

<form action="retourner-donnees-formulaire.php" method="post">
Je veux recevoir des offres :  <input type="checkbox" name="coche" <?php echo $coche; ?>  />
</form>

S’il s’agit de plusieurs cases à cocher qui ont été cochées, nous savons qu’avec la méthode POST, PHP récupère un tableau des valeurs cochées.

La technique consiste à vérifier pour chaque case à cocher si sa valeur est présente dans le tableau et d’y rajouter dans ce cas l’attribut HTMl checked. Pour vérifier la présence d’une valeur dans un tableau, il faut utiliser la fonction in_array().

Récupération de l’information en PHP :

<?php
$choix = "";
$choix1 = "";
$choix2 = "";
$choix3 = "";
if(isset($_POST['envoi'])){ // si formulaire soumis
 if(isset($_POST['choix'])){
  $tab = $_POST['choix'];
  $choix1 = in_array("danse",$tab) ? "checked" : "" ;
  $choix2 = in_array("cinema",$tab) ? "checked" : "" ;
  $choix3 = in_array("ballade",$tab) ? "checked" : "" ;
 }
}
?>

Retour des choix en HTML :

<form action="retourner-donnees-formulaire.php" method="post"> <br>
Loisirs :  <br>
<input type="checkbox"  name="choix[]" value="danse" <?php echo $choix1; ?> /> danse <br>
<input type="checkbox"  name="choix[]" value="cinema" <?php echo $choix2; ?> /> cinema  <br>
<input type="checkbox"  name="choix[]"  value="ballade" <?php echo $choix3; ?> /> ballade <br>
<input type="submit" name="envoi" /><br>
</form>

Bouton radio

S’il s’agit d’un groupe de bouton radio, PHP ne récupère qu’une seule valeur avec la méthode POST. La technique consiste à vérifier pour chaque bouton radio si sa valeur est la même que celle récupérée par PHP et dans ce cas rajouter l’attribut checked.

Récupération de l’information en PHP :

<?php
$genre = "";
$genre1 = "";
$genre2 = "";
if(isset($_POST['envoi'])){ // si formulaire soumis
    if(isset($_POST['genre'])){
        $recup = $_POST['genre'];
        $genre1 = $recup == "h" ? "checked" : "" ;
        $genre2 = $recup == "f" ? "checked" : "" ;
    }
}
?>

Retour du choix en HTML :

<form action="retourner-donnees-formulaire.php" method="post"> <br>
  Genre :  <br>
  <input type="radio"  name="genre" value="h" <?php echo $genre1; ?> /> H <br>
  <input type="radio"  name="genre" value="f" <?php echo $genre2; ?> /> F <br>
  <input type="submit" name="envoi" /><br>
</form>

Liste déroulante

Pour retourner une sélection de liste, on peut utiliser la technique qui consiste à vérifier pour chaque option si sa valeur est la même que celle récupérée par la méthode POST et si c’est le cas, lui rajouter l’attribut selected.

Récupération de l’information en PHP :

$legume = "";
$opt1 = "";
$opt2 = "";
$opt3 = "";
if(isset($_POST['envoi'])){ // si formulaire soumis
  if(isset($_POST['legume'])){
    $recup = $_POST['legume'];
    $opt1 = $recup == "haricot" ? "selected" : "" ;
    $opt2 = $recup == "poireau" ? "selected" : "" ;
    $opt3 = $recup == "carotte" ? "selected" : "" ;
  }
}

Affichage de l’option sélectionnée:

<form action="retourner-donnees-formulaire.php" method="post">
  <select name="legume">
    <option value="haricot" <?php echo $opt1; ?> >Haricot</option>
    <option value="poireau" <?php echo $opt2; ?> >Poireau</option>
    <option value="carotte" <?php echo $opt3; ?> >Carotte</option>
  </select>
  <input type="submit" name="envoi" />
</form>

A lire aussi

tutowebdesign

Afficher du contenu au scroll

Afficher du contenu au scroll Voici un effet impressionnant et pourtant très facile à mettre en place sur vos pages. Le principe consiste à faire

Lire »