Bonjour à tous.
Question bête, mais je n'arrive pas à trouver un bon tutoriel qui me permette de rendre dynamique mon formulaire d'inscription.
En fait, quand je le valide, ça affiche une page de validation avec les éventuelles erreurs et quand je clique sur précédent, pouf le formulaire est vide et il faut tout retapper.
Par conséquent, l'actualisation en temps réels avec AJAX me serait bien utile !
Comme dit par AB, le bouton "Précédent" de ton navigateur va (presque) forcément effacer le contenu du formulaire...
AJaX n'y changera pas grand chose. De toute manière, il vaut mieux prévoir son site sans AJaX, et ensuite en rajouter (accessibilité, tout ça).
De plus, comme je ne connais pas le Javascript, JQUERY serait utile, mais je ne vois pas comment faire !
Mauvaise idée : utiliser des bibliothèques genre jQuery sans connaître le JS peut vite tourner au casse-tête (s'il y a un problème tu vas bidouiller sans visibilité).
Pour en rester au formulaire simple (sans AJaX), en fait il y a deux options :
1. Solution simple à mettre en place, mais "sale" (ça peut vite poser des problèmes de maintenance), mettre la vérification dans la page du formulaire.
L'avantage c'est que du coup tu récupères facilement le contenu.
Exemple :
<?php
/*
SI le formulaire a été envoyé, on teste la validité des champs
Ici, c'est juste un test pour voir si le champ est vide
mais on peut mettre ce qu'on veut.
Pareil, on peut utiliser un Array pour stocker les erreurs, puis gérer les erreurs en un coup
*/
$erreur = false;
if (isset($_POST['OK'])) {
$erreur = empty($_POST['champ1']);
}
if ($erreur) {
echo "<p>Renseigner le champ 1</p>";
}
?>
<form action="" method="POST">
<input name="champ1" value="<?php echo (empty($_POST['champ1'])) ? "": $_POST['champ1'];?>" />
<input type="submit" name="OK" />
</form>
2. Un script de traitement à part, plus complexe mais plus facile à maintenir (surtout si on a un gros site), et plus "académique".
sur le principe on a le même traitement, mais dans ce cas, si tout est OK le script redirige vers une page de confirmation (par exemple).
Et en cas d'erreur, le script redirige vers le formulaire. Restera à assurer un moyen de conserver le contenu des champs (sessions, cookies, ...)
Eventuellement, si tu veux "dynamiser" le formulaire tu peux utiliser de l'AJaX.
Principe : quand on sort d'un champ, on lance une fonction JS qui va appeler une fonction PHP de vérification.
Et suivant le code retour de cette fonction PHP, la fonction JS affiche un message "OK" ou "KO" à côté du champ...
[quote="Zero"]Bonjour à tous.
Question bête, mais je n'arrive pas à trouver un bon tutoriel qui me permette de rendre dynamique mon formulaire d'inscription.
En fait, quand je le valide, ça affiche une page de validation avec les éventuelles erreurs et quand je clique sur précédent, pouf le formulaire est vide et il faut tout retapper.
Par conséquent, l'actualisation en temps réels avec AJAX me serait bien utile ! [/quote]
Comme dit par AB, le bouton "Précédent" de ton navigateur va (presque) forcément effacer le contenu du formulaire...
AJaX n'y changera pas grand chose. De toute manière, il vaut mieux prévoir son site sans AJaX, et ensuite en rajouter (accessibilité, tout ça).
[quote="Zero"]De plus, comme je ne connais pas le Javascript, JQUERY serait utile, mais je ne vois pas comment faire ![/quote]
Mauvaise idée : utiliser des bibliothèques genre jQuery sans connaître le JS peut vite tourner au casse-tête (s'il y a un problème tu vas bidouiller sans visibilité).
Pour en rester au formulaire simple (sans AJaX), en fait il y a deux options :
1. Solution simple à mettre en place, mais "sale" (ça peut vite poser des problèmes de maintenance), mettre la vérification dans la page du formulaire.
L'avantage c'est que du coup tu récupères facilement le contenu.
Exemple :
[php]<?php
/*
SI le formulaire a été envoyé, on teste la validité des champs
Ici, c'est juste un test pour voir si le champ est vide
mais on peut mettre ce qu'on veut.
Pareil, on peut utiliser un Array pour stocker les erreurs, puis gérer les erreurs en un coup
*/
$erreur = false;
if (isset($_POST['OK'])) {
$erreur = empty($_POST['champ1']);
}
if ($erreur) {
echo "<p>Renseigner le champ 1</p>";
}
?>
<form action="" method="POST">
<input name="champ1" value="<?php echo (empty($_POST['champ1'])) ? "": $_POST['champ1'];?>" />
<input type="submit" name="OK" />
</form>
[/php]
2. Un script de traitement à part, plus complexe mais plus facile à maintenir (surtout si on a un gros site), et plus "académique".
sur le principe on a le même traitement, mais dans ce cas, si tout est OK le script redirige vers une page de confirmation (par exemple).
Et en cas d'erreur, le script redirige vers le formulaire. Restera à assurer un moyen de conserver le contenu des champs (sessions, cookies, ...)
Eventuellement, si tu veux "dynamiser" le formulaire tu peux utiliser de l'AJaX.
Principe : quand on sort d'un champ, on lance une fonction JS qui va appeler une fonction PHP de vérification.
Et suivant le code retour de cette fonction PHP, la fonction JS affiche un message "OK" ou "KO" à côté du champ...