4 votes

Est-il correct d'utiliser une session PHP pour conserver les données entre les formulaires ?

Juste une petite question.

J'ai un formulaire qui saisit un certain nombre de données, les valide et les affiche ensuite sur une autre page du même site. J'utilise header() pour rediriger s'il n'y a pas d'erreurs, mais les données ne sont évidemment pas envoyées dans le message.

Serait-il correct d'utiliser une session pour faire persister les données entre les deux pages ?

Merci les gars.

3voto

Jay Bhatt Points 3109

Si vous n'avez besoin des données que sur la deuxième page et si les données ne sont pas sensibles, vous pouvez tout aussi bien les transmettre dans la fonction header().

$url = "www.example.com?variable=value&id=something";
I.e. header('Location: $url');

0voto

jacobwalker0814 Points 541

Ces types de "messages flash" sont très bien et constituent un bon moyen d'empêcher l'utilisateur de recharger la page et de soumettre à nouveau le formulaire si cela vous inquiète. Je vous rappelle de désactiver les variables de session après avoir affiché le message.

0voto

Murtuza Kabul Points 5166

Oui, c'est une approche correcte.

Cependant, en fonction de la situation, il existe également d'autres alternatives telles que les variables cachées, les iframe, etc. Si vous pouvez m'expliquer toute la situation, selon la nature des données, je peux vous fournir une réponse beaucoup plus précise.

0voto

Ilya Points 141

Vous pouvez stocker les données du côté du serveur (session) ou du côté du client (cookie). Le choix de la méthode dépend du type de données et des problèmes de sécurité.

Vous pouvez également insérer les données publiées via PHP directement dans le nouveau formulaire sans les sauvegarder, mais cela ne fonctionnera pas si vous redirigez les données via l'en-tête.

0voto

Aamir Mahmood Points 1303

Oui, vous pouvez le faire, mais pour être encore plus sûr, ajoutez cela dans la base de données avec un champ supplémentaire de DUMMY ou quelque chose comme ça. Ainsi, si vous avez besoin de supprimer, vous pouvez supprimer l'enregistrement factice. Mais vous devez avoir un horodatage pour ne pas supprimer les enregistrements récemment ajoutés et en cours de traitement.

vous pouvez aussi créer une tâche cron pour vider la table

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X