18073 sujets
J'ai une page php où ce situe un formulaire de contact, tous les champs doivent être remplits, si l'un ne l'est pas, il s'affcihe une page d'erreur.
Pour le moment sur la page d'erreur il y a un meta de redirection vers la page de contact au bout de temps de seconde, le problème c'est que toutes les saisies sont éffacées par cette méthode.
Il y a une solution mais pas en automatique, c'est de placer un bouton pour revenir à la page precedente.
A ce moment là il doit avoir un script php pour ce système non ?
Modifié par kouiny (26 Nov 2006 - 20:31)
Pour le moment sur la page d'erreur il y a un meta de redirection vers la page de contact au bout de temps de seconde, le problème c'est que toutes les saisies sont éffacées par cette méthode.
Il y a une solution mais pas en automatique, c'est de placer un bouton pour revenir à la page precedente.
A ce moment là il doit avoir un script php pour ce système non ?
Modifié par kouiny (26 Nov 2006 - 20:31)
Ce que je te conseille, c'est que ton formulaire soumettre à la page courante. Disons que celui-ci se trouve dans formulaire.php. Ton formulaire devra ressembler à ceci :
De cette manière, tu reste toujours sur la même page et il est facilement possible de réalimenter les champs avec les données soumises, et d'afficher les messages d'erreur au-dessus du formulaire. Lorsqu'il n'y a pas d'erreurs, tu peux ensuite faire une redirection php vers une page de confirmation.
Est-ce que tu comprend l'idée ?
C'est beaucoup plus ergonomique pour l'utilisateur, et cela évite d'utiliser des techniques moins sûrs.
Modifié par Tony Monast (26 Nov 2006 - 21:16)
<form action="formulaire.php" ...>
...
</form>
De cette manière, tu reste toujours sur la même page et il est facilement possible de réalimenter les champs avec les données soumises, et d'afficher les messages d'erreur au-dessus du formulaire. Lorsqu'il n'y a pas d'erreurs, tu peux ensuite faire une redirection php vers une page de confirmation.
Est-ce que tu comprend l'idée ?
C'est beaucoup plus ergonomique pour l'utilisateur, et cela évite d'utiliser des techniques moins sûrs.
Modifié par Tony Monast (26 Nov 2006 - 21:16)
En faite le problème c'est pas mon propre cgi, j'utilise les services de i-services.
Je ne comprend toujours pas pourquoi on soumet la page à la même page. Comment fait il pour être renvoyer sur le serveur ?
Modifié par kouiny (26 Nov 2006 - 22:44)
<form method="post" action="http://www.i-services.net[...]" enctype="multipart/form-data" style="margin: 0px;">...</form>
Je ne comprend toujours pas pourquoi on soumet la page à la même page. Comment fait il pour être renvoyer sur le serveur ?
Modifié par kouiny (26 Nov 2006 - 22:44)
kouiny a écrit :
Je ne comprend toujours pas pourquoi on soumet la page à la même page. Comment fait il pour être renvoyer sur le serveur ?
Désolé, mais je ne saisis pas le sens de la question.

Étant donné que ce n'est pas ton propre cgi, évidemment, ca te laisse moins de liberté. Ce que je sais par contre, c'est qu'un script pour revenir automatiquement à la page précédente n'est pas ce qu'il y a de plus accessible. Quel sera le temps exact ? Comment être certain que l'utilisateur aura le temps de voir les champs incomplets ou incorrects ? Lorsqu'il reviendra à la page précédente, va-t-il s'en souvenir ?
Une chose est certaine, tu peux déjà ajouter une validation Javascript côté client. Cela prendra en charge ceux qui ont activés Javascript et leur facilitera la vie. Pour ce qui est de la validation côté serveur, qui est obligatoire, n'y a-t-il pas moyen d'utiliser autre chose que le cgi de i-services ? As-tu l'autorisation de créer des scripts PHP sur ton hébergeur ? Si oui, tu peux surement trouver un script PHP facile à mettre en place qui te laisserais beaucoup plus de liberté.
kouiny a écrit :
En faite le problème c'est pas mon propre cgi, j'utilise les services de i-services.
<form method="post" action="http://www.i-services.net[...]" enctype="multipart/f (...)
Je ne comprend toujours pas pourquoi on soumet la page à la même page. Comment fait il pour être renvoyer sur le serveur ?
1ère partie: tu (ton serveur) peux soumettre le formulaire à la place de l'utilisateur, récupérer la page sur ton serveur, la traiter et communiquer comme tu le souhaites avec le visiteur avec les informations obtenues (bon, pas bon, ça à modifier, etc) grâce à libcurl.
Ca demande pas mal de boulot (il faut décortiquer la page à soumettre à iservices et surtout analyser plein de cas possibles lors du retour des infos) mais si tu ne maîtrises pas le formulaire, c'est la solution la plus complète ... Un désavantage: iservices va voir le même utilisateur 10.000 fois (ton serveur) au lieu de voir 10.000 visiteurs avec des IP différentes. C'est possiblement interdit par leurs CGU ou mal vu.
2ème partie: la question est-elle "comment un script traitant plusieurs saisies de formulaires à la fois sait-il qui a demandé quoi?" ? De la même manière qu'un serveur Apache sait quelle IP/session a demandé quoi.
Modifié par Felipe (27 Nov 2006 - 03:19)