8795 sujets

Développement web côté serveur, CMS

Bonjour,

j'aimerais savoir comment garder des variables d'une page à l'autre ?

je m'explique, sur la page1 j'ai un formulaire, sur la page2 je traite les données de la page1.

sur la page2 j'ai un bouton pour génerer un pdf, qui sera traité sur la page3, et j'aimerais apporter les variable de la page2 sur la page3.

Je ne sais pas si j'ai bien expliqué.
Salut,

Tu dois probablement envoyer ton formulaire par GET ou POST (attribut method du form). Dans ce cas sur la page 2, tu récupères ta variable en faisant $_POST['xxx'] avec xxx le nom du name du champ. Pense à faire des vérifications de la donnée reçue.
Je ne connais pas ton projet, mais POST est à préférer à GET, puisque les infos ne sont pas visibles dans l'url.
Jarodd a écrit :
Je ne connais pas ton projet, mais POST est à préférer à GET, puisque les infos ne sont pas visibles dans l'url.


C'est pas vraiment vrai, ce qui est à préférer c'est de bien nettoyer ses données. Que ce soit en POST, en GET ou peu importe. Sachant que ce n'est pas dur de trouver les champs d'un formulaire et de faire un POST avec du contenu pourri, donc non, POST n'est pas plus sécurisé que GET.

cid5420 a écrit :

Merci mais je n'est pas besoin de "sécurité" je fait une application intranet !!

Et donc vu que c'est un intranet il n'y a pas matière à sécuriser? Sincèrement ne crois pas ça ... c'est une très mauvaise pratique.
Modérateur
cid5420 a écrit :
sur la page2 j'ai un bouton pour génerer un pdf, qui sera traité sur la page3, et j'aimerais apporter les variable de la page2 sur la page3.

Bonjour, je vois 3 manières d'accomplir cela.

1) La méthode brutale mais sans stockage: Le bouton pour générer un formulaire est un formulaire, les données sont dans un ou des champs hidden. Si il n'y a pas trop de données c'est jouable.

2) Stockage en dur des données lors du traitement de la page 2 : Base de données / fichier / etc.

3) Stockage des données dans une variable de session.
En fait ce que je voulais dire, c'est que la sécurité au niveau des url en utilisant get n'est pas importante dans ce projet, car c'est juste un outil qui ne sera pas présent sur internet, on sera 3 à l'utiliser en localhost sous wamp !!!

No prob à ce niveau, bien sûr j'essaie de sécurisé tous mes projets!!!!

"floreo à écrit: Ce qui est à préférer c'est de bien nettoyer ses données. Que ce soit en POST, en GET ou peu importe."

Pourrais tu me dire comment tu fais pour nettoyer les données ou me référer à un tuto?
Tout dépend les données ^^

mais de base, la fonction filter_var() couvre une grande majorité des cas. Pour les autres cas, il faut jouer avec des preg_match() et des expressions régulières.

A ajouter à cela :
- une vérification de si la variable existe/est remplie (avec empty() )
- si tu as un champs "select", bouton radio ou checkbox par exemple, tester que la valeur est bien une de celles que tu attends
- si c'est une image (autant en upload qu'en simple link externe), vérifier qu'elle a une dimension en pixel

Et si c'est pour mettre dans les tables, un nettoyage s'impose au minimum avec mysqli_real_escape_string.

Et pour aller plus loin dans le domaine de la sécurité : Sécurité PHP5 et Mysql aux éditions Eyrolles de Damien Seguy reste incontournable.