Bonsoir,

Exist-il un script ou un meta pou revenir à la page precedente au bout de temps de seconde ?

Attention ce n'est pas une redirection (car sinon le formulaire s'efface automatiquement).

Merci,
Modérateur
Bonjour,

C'est dans quel but ? Pourrais-tu nous expliquer plus en détails les raisons qui te pousserais à vouloir utiliser cette technique ?
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)
Modérateur
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 :


<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)
D'accord avec Tony Monast.
S'il y a une erreur dans le contenu saisi (ou justement, non saisi) dans le formulaire, on charge le formulaire avec les informations déjà données, et juste avant ça on affiche un message d'erreur bien visible : Erreur : le formulaire est incomplet bla bla.
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/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)
Je n'ai pas compris, une explication plus explicite ?

Sinon ce n'est pas grave je laisse ma redirection et il sera obliger de tout retaper Smiley rolleyes Il avait qu'à bien faire Smiley lol Je rigole ...
Modérateur
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. Smiley confus Peux-tu être plus précis ?

É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é.
Administrateur
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)