//fonction pour les champs texte (type > text)
function raf($NomDuBouton,$TexteParDefaut='') {
return isset($_POST[$NomDuBouton]) ? htmlentities($_POST[$NomDuBouton],ENT_QUOTES,"UTF-8") : $TexteParDefaut;
}
//fonction pour les listes déroulantes (select > option)
function rafSelected($NomDuSelect,$SiLui,$ParDefaut='') {
return isset($_POST[$NomDuSelect]) ? ($_POST[$NomDuSelect] == $SiLui ? " selected=\"selected\"" : "") : ($ParDefaut == $SiLui ? " selected=\"selected\"" : "");
}
//fonction pour les cases à cocher (type > checkbox)
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"
}
//fonction pour les cases à cocher multiple choix (type > checkbox[])
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="<?= raf("nom") ?>">
<p>Prénom:</p>
<input name="prenom" type="text" value="<?= raf("prenom", "Une valeur par défaut") ?>">
<p>Genre:</p>
<select name="genre">
<option value="homme"<?= rafSelected("genre", "homme") ?>>Homme</option>
<option value="femme"<?= 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"<?= rafCheckboxListe("interets", "informatique",1) ?>> Informatique (par défaut)
<br>
<input name="interets[]" type="checkbox" value="musique"<?= rafCheckboxListe("interets", "musique") ?>> Musique
<br>
<input name="interets[]" type="checkbox" value="art"<?= rafCheckboxListe("interets", "art") ?>> Art
<br>
<input name="interets[]" type="checkbox" value="cinema"<?= rafCheckboxListe("interets", "cinema") ?>> Cinéma
<br>
<p>Recevoir la news:</p>
<input name="news" type="checkbox"<?= rafCheckbox("news", 1) ?>> Oui, je veux la recevoir
<br>
<input type="submit">
</form>
J'espère que ce script gratuit vous sera utile dans vos projets.Si vous souhaitez soutenir mon travail, un simple clic sur le bouton "Donner remercier" ci-dessous ou une note serait grandement apprécié. Merci pour votre générosité !
Vous cherchez à pousser encore plus loin vos idées ou à les concrétiser avec un site internet sur mesure ? Je suis là pour vous aider ! Mon expérience en développement web est à votre disposition.
Que ce soit la création de votre site web pro ou l'apport de fonctionnalités avancées à votre projet, contactez-moi pour en discuter et avoir un devis gratuit personnalisé.
Mon objectif est de vous offrir des solutions sur mesure qui répondent à vos besoins, et votre vision associée à mon expertise donnera vie à votre projet web parfait. Contactez-moi aujourd'hui, je réponds en général en moins d'une heure :
Demander un devisHervé le 10 Avril 2021 à 13:11
Simple mais efficace. Merci
Précision: utilisation uniquement sur champ texte dans mon cas.