L'usage des sessions en php

Marcelinos Messages postés 297 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 6 juin 2018 - 28 août 2008 à 19:50
jreaux62 Messages postés 195 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 24 octobre 2011 - 29 août 2008 à 16:39
Bonjour
Je suis débutant en php et j'ai un sérieux problème que voici:
j' ai un formulaire de saisie réparti sur plusieurs pages à savoir page1.php,
page2.php,.........page10.php.Le principe est le suivant:
lorsque l'utilisateur finit de remplir page1.php ,il clique sur "suivant" pour continuer la saisie
sur page2.php et ainsi de suite jusqu'à ce qu'il se retrouve sur la dernière page qui est page10.php
pour finalement cliquer sur "Tout enregistrer" pour enregistrer toutes les données saisies depuis le début
jusqu'à la fin dans la base de données!
Mais je ne sais comment organiser ce travail si vaste à mon niveau!
Certains m'ont parlé de "session" sur le net mais je ne sais pas trop.J'y ai trouvé une fonction qui a pour nom session.php que je veux inclure juste en haut de chaque page php mais je ne sais pas comment ça fonctionne!!
Aidez moi!!
Certains sites encore me disent d'inserrer les donnée au fur et à mesure!! Là encore je ne vois pas ce qu'il faut
faire !!!
Laquelle des deux méthodes savère la mieux adaptée à mon problème?
Expliquez la moi!!
Aidez moi s'il vous plait car je suis bloqué........
Voici la fonction session dont je vous ai parlé:
<?php
session_start();
foreach ($_POST as $elmt=>$val){
 if ($_POST[$elmt] !=""){
  $_SESSION[$elmt]=$val;
 }
}
?>
Encore un question :
Lequel des variables superglobales $_POST ou $_GET ou $_SESSION  faut-il utiliser pour récupérer les variables du formulaire
sur la page du action="..."
Merci d'avance pour votre aide!!

2 réponses

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
29 août 2008 à 10:09
Salut,

Les sessions te permettent d'enregistrer, côté serveur, des données liées à l'utilisateur, et de les récupérer sur chaque page.
Pour cela, il "suffit" d'appeler la fonction session_start() en début de chaque script. Reporte toi à la doc de PHP pour plus de détails sur cette fonction.

Concernant ton problème précisément, tu peux au choix :
- enregistrer les données au fur et à mesure dans la base de données.
- stocker les données provisoirement dans des variables de session, puis tout stocker dans ta base de données à la fin.

L'inconvénient de la première option est que tu dois gérer manuellement les données pour le cas où quelqu'un a commencé à remplir le formulaire mais n'a pas fini (et ne finira pas). Tu vas devoir supprimer les données enregistrées inutiles. C'est une gestion supplémentaire que tu n'as pas dans la seconde...
Les variables de sessions ne sont rien d'autre que des variables enregistrées dans la variable superglobale $_SESSION. L'avantage des variables de sessions, c'est qu'elles sont liées à leur session, et sont donc supprimées automatiquement par le gestionnaire de sessions de PHP, en même temps que les sessions obsolètes.

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
0
jreaux62 Messages postés 195 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 24 octobre 2011 32
29 août 2008 à 16:39
Bonjour,
et pour tout savoir sur les sessions :
http://www.phpcs.com/tutoriaux/SESSIONS-PHP-COMMENT-MARCHE_600.aspx
0
Rejoignez-nous