Action bouton

Eléphant du PHP | 91 Messages

19 juil. 2007, 11:49

Bonjour,

J'ai un formulaire de saisie avec un bouton "suivant". L'action renvoie à un fichier php qui traite ma saisie pour l'enregistrer dans ma base de données Postgres. Je souhaiterai que lorsque je clique sur ce bouton mes données soient bien traitées et que je sois renvoyée sur une deuxième page de saisie.
Pour l'instant, j'arrive à enregistrer mes données mais pas à accéder à ma deuxième page de saisie.

Voici un bout de mon code:

Code : Tout sélectionner

[php] <!-- Construction du formulaire de saisie1 de l'enquête--> <FORM action="traitement_saisie1.php" method="POST" name="envoi"> <input type="submit" name="envoi" value="Suivant" onClick="document.location='saisie2.php'"> </FORM>[/php]

Mammouth du PHP | 1776 Messages

19 juil. 2007, 12:00

avec un include ? :wink:

Eléphant du PHP | 91 Messages

19 juil. 2007, 12:07

Un include, d'accord. Pour appeler mon traitement_saisie1? Mais où dans le FORM?
Ces questions sont peut-être stupide mais j'ai un peu de mal!!!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

19 juil. 2007, 12:19

Ce serait plus un header() qu'un include à mon avis... ce que tu veux en somme c'est un formulaire sur plusieurs pages ?

Si tu veux faire un traitement entre chaque, il suffit que ta page de traitement se termine avec un header('Location: ....') pour rediriger l'utilisateur vers le formulaire suivant. Sinon tu peux aussi stocker les données en session au fur et à mesure et n'enregistrer le tout que lors de la validation finale.

enfin, il vaut mieux éviter de mettre une action onClick sur un bouton de type submit. En effet, l'action de ce bouton est de soumettre le formulaire... et selon le navigateur la surcharge du onclick peut avoir des effets bizare. Il vaut mieux utiliser un bouton de type button et soumettre le formulaire avec un .submit() ou bien encore mettre l'action dans le onSubmit="" du formulaire.
Enfin, une fois encore, l'action de redirection pendant l'envoi du formulaire peut avoir des effets différents selon le navigateur (redirigé avant l'envoi des données voire pendant ..)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 91 Messages

19 juil. 2007, 13:46

En fait, ce que j'ai fait c'est un formulaire de saisie par page avec un traitement à chaque fois.

Finalement le Include fonctionne très bien. ça ne marchait pas au début mais c'était parce que j'avais rappeler ma connexion à ma BD.

Merci beaucoup à tout le monde.