variable de session $_SESSION

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


dadovb
WRInaute accro
WRInaute accro
 
Messages: 2038
Inscription: Mar Nov 22, 2005 9:50

variable de session $_SESSION

Message le Lun Jan 09, 2006 14:26

Bonjour à tous, je souhaite utiliser une variable de session PHP, donc voilà ce que j'ai mis ds ma page d'accueil :

Code: Tout sélectionner
$_SESSION["pouet"]   = $pouet;
$po = $_SESSION["pouet"];



Ken je fai echo $po sur ma page d'accueil ca amrche bien. Mais j'ai essayé de la récupérer sur une autre page de mon site :
Code: Tout sélectionner
$lg = $_SESSION["lang"];
echo $lg;


Et là ca ne marche pas, pourriez-vous m'expliquez ce que j'ai mal fait ? merci d'avance !


fabor
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 137
Inscription: Jeu Mar 17, 2005 12:56

Message le Lun Jan 09, 2006 14:37

as tu mis un
Code: Tout sélectionner
session_start()
en debut de ta page?

Didier_S
WRInaute passionné
WRInaute passionné
 
Messages: 563
Inscription: Mar Aoû 24, 2004 22:25

Message le Lun Jan 09, 2006 14:38

1- essaie de soigner ton orthographe, merci
2- tu utilises session_start() avant d'envoyer des variables en session ?


dadovb
WRInaute accro
WRInaute accro
 
Messages: 2038
Inscription: Mar Nov 22, 2005 9:50

Message le Lun Jan 09, 2006 15:03

no effetcivement, je l'avais pas mis.

Par contre j'en ais un ds un fichier php que j'appelle avec un require un peu plus loin ds mon code, est-ce un problème si je déclare 2 session_start à la suite ?

Ecrasement des variables et compagnie ? merci d'avance


dadovb
WRInaute accro
WRInaute accro
 
Messages: 2038
Inscription: Mar Nov 22, 2005 9:50

Message le Lun Jan 09, 2006 15:04

pardon pour les fautes de frappes mais je sui handicapé moteur donc jessai de diminuer le nombre de frappes sur les touches d emon clavier.Merci de votre compréhension.

Didier_S
WRInaute passionné
WRInaute passionné
 
Messages: 563
Inscription: Mar Aoû 24, 2004 22:25

Message le Lun Jan 09, 2006 15:19

pas de problème, dans ce cas tu te débrouilles même carrément bien !
les 2 session_start() à la suite vont poser problème (générer un Warning, ou une Notice, je ne sais plus)

tu peux, autour du 2e, mettre un
Code: Tout sélectionner
if (!isset($_SESSION)) { session_start(); }]


e-kiwi
Modérateur
Modérateur
 
Messages: 13854
Inscription: Mar Déc 23, 2003 9:04

Message le Lun Jan 09, 2006 15:59

Bonjour,

le session_start() doit être dans ta page qui inclue l'autre (la page parent) et avant toute balise html

pas besoin de le repeter dans la page incluse
sinon pour ton problème, cela doit être effectivement l'absence de ton session_start()

Toutou-Fr
WRInaute passionné
WRInaute passionné
 
Messages: 642
Inscription: Lun Aoû 22, 2005 14:49

Message le Lun Jan 09, 2006 16:03

Si ma mémoire est bonne, de toute facon, le session_start doit obligatoirement être la première fonction utilisée en sortie, sans quoi il y a un e erreur (header already sent..)

On peut faire des tests avant, affecter des variables etc avant, mais pas de echo, print, ou quoi que ce soit dans le genre :p il est donc préférable de prendre l'habitude d'utiliser session_start au tout début du fichier php.


e-kiwi
Modérateur
Modérateur
 
Messages: 13854
Inscription: Mar Déc 23, 2003 9:04

Message le Lun Jan 09, 2006 16:41

fonction de sortie = code html :)
tu peux faire autant de traitements que tu veux avant un session_start() tant qu'il n'y a pas d'affichage en sortie (tu peux faire des requetes de modif BDD, génération de cookie, etc...)

Toutou-Fr
WRInaute passionné
WRInaute passionné
 
Messages: 642
Inscription: Lun Aoû 22, 2005 14:49

Message le Lun Jan 09, 2006 16:47

code HTML, ou headers:)

( on peut generer un cookie avant ? je ne savais pas)


e-kiwi
Modérateur
Modérateur
 
Messages: 13854
Inscription: Mar Déc 23, 2003 9:04

Message le Lun Jan 09, 2006 17:07

hum, le doute m'envahi. je vais tester ça ^^


dadovb
WRInaute accro
WRInaute accro
 
Messages: 2038
Inscription: Mar Nov 22, 2005 9:50

Message le Lun Jan 09, 2006 17:08

Tout d'abord merci à tous pour vos nombreux conseils,

Je n'arrive toujours pas à ce que je veux, dans ma page public/index.php, je recupère de l'url la variable ?pouet=kkchose.

Je fais donc un :
Code: Tout sélectionner
$lg = $_GET['pouet'];

require "session.php";



Mon fichier session.php contient mes (futures) déclartions de variables de session :


Code: Tout sélectionner
session_start();
   
   session_register("_pouet");
   if (isset($lg)) {
      $pouet = $lg;
      $_SESSION["_pouet"]   = $pouet;
      }
      
      


Après plusieurs tests, ma page d'accueil la prends bien encompte, mais pas mes pages "suivantes" placées ds le meme répertoire qui sont lancés pas des href normaux depuis mon index.php.

Je sai pas si je suis très clair jespere que vous comprendez au moins une partie de ce ke j'essaie d'expliquer. Merci d'avance

Toutou-Fr
WRInaute passionné
WRInaute passionné
 
Messages: 642
Inscription: Lun Aoû 22, 2005 14:49

Message le Lun Jan 09, 2006 17:11

toutes tes pages doivent posseder le session_start, meme si ta session est déjà commencée.

pour débugger, je te conseille d'afficher tous les types d'erreurs, warning, notice, etc dans PHP .


e-kiwi
Modérateur
Modérateur
 
Messages: 13854
Inscription: Mar Déc 23, 2003 9:04

Message le Lun Jan 09, 2006 17:16

session_register("_pouet"); <- !!! code obsolete
il faut mettre : $_SESSION["_pouet"]=$tavariable

if (isset($lg)) { <- peut etre que tu n'as pas de $lg tout simplement. à distance, dur de trouver sur une portion de code


dadovb
WRInaute accro
WRInaute accro
 
Messages: 2038
Inscription: Mar Nov 22, 2005 9:50

Message le Lun Jan 09, 2006 17:16

je fais un require "session.php" au debut de chacune de mes pages. J'ai vraiment l'impression que le probleme se situe au niveau du passage de variables entre les différentes pages php.
Mais j'en mettrais pas ma main à couper...elle me sert encore un peu^^

variable de session $_SESSION

Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités