Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2274 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Session + Include

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Session + Include

n°702190
gooopil
pfiew
Posté le 18-04-2004 à 15:16:59  profilanswer
 

Salut
 
Je suis récemment passé de easyphp 1.6 à 1.7 et evidemment ce qui marchait ne marche plus...Mis à part les undefined variables qui polluent le tout et dont la correction est en cours, j'ai un problème de "A session had already been started - ignoring session_start() ".
 
Voila comment je fonctionne :
ma page est composé d'un bandeau en haut et un à gauche plus le reste. Dans une page (par exemple l'index), je fait ca :

Code :
  1. <?
  2.     session_start();
  3.     //récup des variables get,post et session
  4.     (...)
  5.    
  6.     include ('topframe.php');
  7.     include ('leftframe.php');
  8.     ...
  9. ?>


Dans topframe.php, je commence logiquement (enfin pour moi ;)) par un session_start() histoire de récupérer mes infos de sessions. Le problème c'est qu'il en veut pas puisqu'il me dit que la sesison est déjà commencée et qu'il ignore le session_start. Et bien sur, mes variables qui devraient être en session sont vides quand je les appelle depuis cette page.  
Toujours en suivant ma logique, j'ai essayé de virer le session_start(), et la, bien sur, ca ne marche pas non plus, les variables sont toujours vides...
 
D'ou peut venir ce problème ? Je présume que ca se trouve dans les réglages de easyphp 1.7 qui sont différent du 1.6...Comment résoudre ca ?
 
Merci


Message édité par gooopil le 18-04-2004 à 15:18:18
mood
Publicité
Posté le 18-04-2004 à 15:16:59  profilanswer
 

n°703323
gooopil
pfiew
Posté le 19-04-2004 à 23:36:16  profilanswer
 

Un petit up pour la nuit :)

n°703951
UnknownX
Posté le 20-04-2004 à 15:20:33  profilanswer
 

Même problème!
J'ai recherché sur le site de EasyPHP et voila ce que j'ai trouvé :

Citation :

44 - [1.7] J'ai plein d'erreurs "Notice: Undefined variable" dans mes scripts.
 
     Depuis PHP 4.2.0 d'avril 2002 il faut maintenant:  
Initialiser ses variables avant de les utiliser.  
Recuperer les variables passées par GET ou POST avec (respectivement) $var=$_GET['var']; ou $var=$_POST['var'];.  
Gerer les sessions avec $_SESSION.
Voir l'aide PHP pour plus d'informations.  


 
Mais je m'y connais pas assez pour faire ça...
Si quelqu'un peut aider...

n°703955
gooopil
pfiew
Posté le 20-04-2004 à 15:23:34  profilanswer
 

Ah non, c'est pas le même problème, celui des undefined variable se résoud très facilement : tu fais

Code :
  1. if (!empty($_GET['message'])) 
  2.             $message=$_GET['message'];
  3. else $message="";


 
Mon problème concerne la récupération des variables de session dans une page en include :)

n°704065
UnknownX
Posté le 20-04-2004 à 16:25:30  profilanswer
 

euh...je comprend pas bien la commande que tu viens de me donner (j'y connais pratiquement rien...)
En gros, j'ai un fichier "index.php". Dans ce fichier, ya la commande include qui renvoie a "include.php" et le fichier include renvoie a son tour au different page du site (avec un adresse dela forme "index.php?page=exemple".
Et le fichier include ressemple à ça :
 

Citation :

<?php
if($page =="" ){include ("news/news.php" );}
if($page =="newsarchive1-10" ){include ("news/archives/00001-00010.php" );}
if($page =="newsarchive11-20" ){include ("news/archives/00011-00020.php" );}
if($page =="contact" ){include ("contact/contact.php" );}
if($page =="chat" ){include ("chat/chat.php" );}
if($page =="fanarts" ){include ("fanarts/fanarts.php" );}
...etc...
?>


 
Sinon, je crois que ton problème vient du fichier php.ini
Ya des explication dans le fichier. (mais moi j'ai rien comprit :P)

n°704082
gooopil
pfiew
Posté le 20-04-2004 à 16:38:03  profilanswer
 

avant tes if (que soit-dit en passant, je remplacerais pas un switch), tu fais :
  if (!empty($_GET[page ]))    
                $page =$_GET[page ];  
  else $page ="erreur";
Comme ca tu es sur que ta variable existe et provient de GET.
 
Cependant, ca ne règle pas mon problème...:( Quelqu'un peut m'expliquer comment j'utilise des sessions dans un include ?

n°704101
Ayuget
R.oger
Posté le 20-04-2004 à 16:49:37  profilanswer
 

bah du démarre ta session dans le fichier qui inclut et tu récupère comme d'hab les variables dans ton fichier inclut en récupérant tes variables de session via $_SESSION['truc']
 
exemple:
 
pouet.php

Code :
  1. <?php
  2. session_start();
  3. $_SESSION['truc'] = "pouet";
  4. include('tinkywinky.php');
  5. ?>


 
tinkywinky.php

Code :
  1. <?
  2. echo $_SESSION['truc'];
  3. ?>


 
Lorsque tu lanceras pouet.php, tu auras bien "pouet" d'affiché à l'écran. Enfin bref, je ne voit pas où est le problème  [:romn]


Message édité par Ayuget le 20-04-2004 à 16:51:40

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Session + Include

 

Sujets relatifs
Session pour un caddie virtuelsavoir si une session a "commencé" sans faire session_start() ?
Include () Probleme - Aidez moi svp - Je suis débutant - mercisession interdite?
[PHP] Session Start[PHP] Peut on passer des tableau dans $_SESSION ?
[php] include fichier xml/xsl[PHP] Session
variable de sessionsession en java
Plus de sujets relatifs à : Session + Include


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR