Modérateur PHPfrance |
10684 Messages
04 sept. 2010, 17:41
Pour être précis :
- Avec POST tu récupères une variable envoyée par un formulaire avec la méthode post (method="post"). Il n'y a pas de contrainte quant à la page, le formulaire peut très bien envoyer les données vers la même page ou vers une autre. Tout ce qui compte, c'est de l'utiliser sur la page qui récupère les données

- Avec GET tu récupères une variable qui apparait dans l'URL, soit parce que l'utilisateur a suivi un lien, soit parce qu'il a soumit un formulaire avec la methode get (method="get").
- Avec SESSION tu récupères en effet n'importe quelle donnée que tu as préalablement stocké dans la session. Cela te permet de conserver des information en mémoire tant que l'utilisateur est connecté au site.
En fait, $_GET, $_POST, $_SESSION ou $_COOKIE ne servent qu'à préciser à php d'où provient la donnée à laquelle tu tentes d'accéder
Du coup pour répondre à ta question, tu as plusieurs options.
La plus simple est sans doute de traiter les données du formulaire sur la page qui contient le formulaire. En gros :
Code : Tout sélectionner
Si des données ont été envoyées via le formulaire
contrôle et traitement des données, redirection de l'utilisateur en cas de succès
Sinon
y a pas de sinon en fait :)
Affichage du formulaire
Si des données ont été envoyées via le formulaire et que l'utilisateur n'a pas été redirigé, c'est qu'il y a eu des erreurs et il te suffit de pré-renseigner le formulaire avec les données envoyées.
Une autre solution pourrait consister à utiliser deux pages, une pour le traitement, l'autre pour le formulaire. Dans ce cas, dans la page de traitement, tu fais tes contrôles et en cas d'erreur tu stockes les données en session et tu rediriges l'utilisateur vers le formulaire. Sur le formulaire, si des données sont présentes en session, tu les utilises pour pré-renseigner le formulaire
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...