Variable session

[Résolu/Fermé]
Signaler
-
 DocN -
Bonjour,

Hier, j'ai posé une question a propos d'un problème pour vérifier mes champs, le problème étant réglé, un autre se pose, mon incompétence la plus totale pour les variables de session.

J'ai lu plusieurs tuto, mais ils ne prennent pas en compte ce que je veux faire, pour faire simple, j'ai 3 pages, l'une qui est un formulaire de saisie html/php, la deuxième récupère les données de la première via une méthode post et check les champs remplis ou non, si ils le sont tous, alors, un récapitulatif des informations s'affichent, et vous propose de vous diriger vers la troisième page, qui consiste a envoyer un mail.

Pour l'envoi de mail, j'ai donc besoin de variables de session, puisque on ne saisit rien sur la seconde page. Le problème, c'est qu'il n'arrive pas a récuperer mes variables. Je les affecte dans ma seconde page php, après les avoir affectées grâce a la méthode Post (en gros, au niveau de mon code, ça donne $_SESSION['var'] = $var). J'ai fait mon "session_start();" sur toutes les pages, même la première, car sinon, j'avais une erreur dans ma seconde page me disant que les informations étaient déjà envoyés.

J'ai essayé de passer mes variables a la première page en Session, mais rien y fait, j'ai le droit a 48 erreurs.

Est ce que quelqu'un aurait une idée pour que ma troisième page puisse enfin affecter les variables ?

Merci d'avance.

12 réponses

Messages postés
8319
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 581
Le minimum pour qu'on puisse te corriger une erreur, ça serait que tu nous dises quelle erreur tu rencontres, non ?
Oui, bonjour ThEBiShOP.

Pour les erreurs : Warning: session_start() [function.session-start]: open(${path}\tmp\\sess, O_RDWR) failed: No such file or directory (2) in C:\form\index.php on line 1

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\form\index.php:1) in C:\form\index.php on line 1

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\form\index.php:1) in C:\form\index.php on line 1

La seule chose que j'ai en ligne 1 : <? Session_start(); ?>

J'ai remarqué que mon registers_global était off sur mon php info... Faudrait que je modifie mon php.ini ?
Messages postés
8319
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 581
non le off c'est normal, tu es sur quel hébergement ?

On dirait que ton serveur n'arrive pas à accéder aux sessions
Autre question, je ferme directement ma balise session_start(), l'erreur peut venir de la non ? Et à ce moment-là, faudrait que je retouche tout mon code, non pas que ça m'embête, mais y aurait pas un moyen de mettre l'affectation $_Post pour deux pages php au lieu d'une ? Les variables seraient renvoyées au formulaire récapitulatif, et a l'envoi de mail.
Messages postés
8319
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 581
session_start() est une fonction, pas une balise.

Si tu veux transporter une variable sur plusieurs pages tu es obligé de passer par les sessions
Quand je dis ma balise, c'est ma balise php.
C'est possible cette histoire de serveur, je suis dans un réseau intranet (bon la, sur un pc internet qui n'est pas dans le même réseau), je ne suis pas administrateur de mon poste, donc, l'écriture ou l'accès a un dossier pourrait être interdite...
Messages postés
8319
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 581
ça peut être ça en effet
Mais, cette histoire de $post pour deux pages php, ça ne marche pas je suppose ?
Messages postés
8319
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 581
la variable $_POST est récupérée suite à l'envoi d'un formulaire, si après tu passes sur une autre page, cette variable est perdu.

tu peux éventuellement utiliser les cookies mais c'est pas vraiment fait pour être utilisé comme ça...
Oui, mais, l'action du formulaire, pointe sur une page, cette page c'est mon index.php, si je rajoute a cette action, ma troisième page, mon envoi de mail.

En clair, lors de la définition de mon formulaire, je dirais action = "index.php" "Envoi.php" method = Post

ça ne fonctionnerait pas je suppose ?
Messages postés
8319
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 581
ton formulaire ne peut pointer que vers une seule page.
Bon, d'acccord, et bien merci de ton aide, je vais essayer de trouver autre chose que les variables de type Session.