Télécharger
Noter:

Ajouté le 20/03/2020
Visionné 70 fois

Réafficher les champs du formulaire en PHP

Description

C'est frustrant de devoir remplir a nouveau un formulaire, par défaut, si il y a des erreurs, le formulaire se vide et vous devez tout retaper.

Pour afficher à nouveau les données saisies par l'utilisateur, la fonction suivante réaffichera le contenu des champs de type:

- <input type="text"> (champ texte)
- <input type="checkbox"> (case à cocher)
- <option> (select, liste déroulante)

Vous pouvez sélectionner des champs par défaut ou rentrer une valeur par défaut dans un champ text
function raf($NomDuBouton,$TexteParDefaut='') {//fonction pour les champs texte
return isset($_POST[$NomDuBouton]) ? htmlentities($_POST[$NomDuBouton],ENT_QUOTES,"UTF-8") : $TexteParDefaut;
}
function rafSelected($NomDuSelect,$SiLui,$ParDefaut='') {//fonction pour les cases à cocher
return isset($_POST[$NomDuSelect]) ? ($_POST[$NomDuSelect] == $SiLui ? " selected=\"selected\"" : "") : ($ParDefaut == $SiLui ? " selected=\"selected\"" : "");
}
function rafCheckbox($name,$ParDefaut=null){
return isset($_POST[$name]) ? ' checked="checked"' : ($ParDefaut!=null?(empty($_POST)?' checked="checked"':''):'');//ici on utilise $_POST pour savoir si le formulaire à été envoyé, si il est envoyé, on affiche le choix de l'utilisateur et non plus le choix "par défaut"
//$_POST (array) liste les variables $_POST, donc si notre formulaire est envoyé, on devrait avoir du $_POST et donc il ne sera pas "empty"
}
function rafCheckboxListe($name,$value,$ParDefaut=null){
if(isset($_POST[$name])){
foreach($_POST[$name] as $values){
if($values==$value) return ' checked="checked"';
}
} else {
//si formulaire pas encore envoyé, on coche les "par défaut"
if(empty($_POST)){
return $ParDefaut!=null?' checked="checked"':'';
}
}
}


<form method="post">
<p>Nom:</p>
<input name="nom" type="text" value="<?php echo raf("nom"); ?>">
<p>Prénom:</p>
<input name="prenom" type="text" value="<?php echo raf("prenom","Une valeur par défaut"); ?>">
<p>Genre:</p>
<select name="genre">
<option value="homme"<?php echo rafSelected("genre","homme"); ?>>Homme</option>
<option value="femme"<?php echo rafSelected("genre","femme","femme"); ?>>Femme (ici par défaut pour l'exemple)</option>
</select>
<p>Centres d'intérêts:</p>
<input name="interets[]" type="checkbox" value="informatique"<?php echo rafCheckboxListe("interets","informatique",1); ?>> Informatique (par défaut)<br/>
<input name="interets[]" type="checkbox" value="musique"<?php echo rafCheckboxListe("interets","musique"); ?>> Musique<br/>
<input name="interets[]" type="checkbox" value="art"<?php echo rafCheckboxListe("interets","art"); ?>> Art<br/>
<input name="interets[]" type="checkbox" value="cinema"<?php echo rafCheckboxListe("interets","cinema"); ?>> Cinéma<br/>
<p>Recevoir la news:</p>
<input name="news" type="checkbox"<?php echo rafCheckbox("news",1); ?>> Oui, je veux la recevoir<br/>
<input type="submit">
</form>

Commentaires

Pas encore de commentaire ajouté, soyez le premier!

Ajouter un commentaire

Pseudo/Nom *
Email *
Message *
La balise [code]Votre code...[/code] peut être utilisée

Captcha * memo2

Les champs marqués d'un * sont obligatoires.

Retour à la liste des scripts

Flag Counter