Steve TENZA
Web développeur
Facebook Me contacter Cookie
Télécharger
Noter:
5/5 (2)
Ajouté/Modifié le 2023-11-02
Visionné 4529 fois

Ne pas perdre les données saisie dans le formulaire PHP

Description

Lorsque je traite des formulaires en PHP, j'accorde une grande importance à offrir une expérience utilisateur optimale, c'est pourquoi j'utilise une fonction qui me permet de réafficher les champs avec les données précédemment soumises. Il est frustrant pour les utilisateurs de devoir ressaisir toutes leurs informations après avoir commis une erreur de saisie ou rencontré des problèmes lors de la soumission du formulaire.

Cette approche améliore considérablement la convivialité de mon application web. Les utilisateurs peuvent ainsi corriger plus facilement leurs erreurs, ce qui rend l'interaction avec le formulaire beaucoup plus agréable. En résumé, la réaffichage des champs du formulaire en PHP est une technique essentielle pour garantir une expérience utilisateur fluide et éviter toute frustration liée à la perte de données lors de la correction d'erreurs dans un formulaire.

La fonction permet de restaurer les champs de type :

<input type="text"> (champ de texte, email, number et autres "type")
<input type="checkbox"> (case à cocher)
<option> (select, liste déroulante)



//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é !
Votre réussite en ligne commence ici

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 devis
Réponse rapide !

Vous recherchez un script précis ?

Dites-moi ce dont vous avez besoin, je peux développer le script demandé et vous envoyer un mail dès qu'il est dispo !

🔔 Vous pouvez laisser votre mail pour recevoir les nouveaux scripts. Pas de pub, pas de tracas. Vous êtes libre de le supprimer à tout moment.

Je prends en compte toutes les demandes. Les idées les plus populaires passent en priorité et seront publiées dès qu'elles seront prêtes. 2842 demandes reçues.

Commentaires

Ajouter un commentaire

Commenter
Pseudo/Nom
Email
Message
Captcha
memo2
Commenter

Hervé le 10 Avril 2021 à 13:11

Simple mais efficace. Merci
Précision: utilisation uniquement sur champ texte dans mon cas.

Retour à la liste des scripts

Un site à créer ?
Contactez-moi