[PHP] session + include = probleme

session + include = probleme [PHP] - PHP - Programmation

Marsh Posté le 21-06-2004 à 17:50:54    

:hello:  
 
j'ai divers tests qui valident ou non l'acces a la page demandee
 
mon script fonctionne parfaitement lorsqu'il est en "dur" sur chaque page. lorsque j'ai voulu basculer avec un include, ca ne fonctionne plus : mes variables de session sont inacessibles ...
 
j'ai teste plein de choses (session_start dans la page et dans le script en include, seulement dans la page ...) mais rien ne fonctionne :fou:  
 
voyez-vous d'ou cela viendrait :??:
 
merci d'avance


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
Reply

Marsh Posté le 21-06-2004 à 17:50:54   

Reply

Marsh Posté le 21-06-2004 à 17:54:58    

Met voir ici le script

Reply

Marsh Posté le 21-06-2004 à 18:08:48    

ordre des instruction ne rien mettre avant les trucs de session surement

Reply

Marsh Posté le 21-06-2004 à 18:09:21    

j'ai pensser aussi a ca .. Mais bon on c jms :p

Reply

Marsh Posté le 21-06-2004 à 18:42:07    

non, le session_start est bien avant tout code, meme php en plus !


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
Reply

Marsh Posté le 21-06-2004 à 21:10:00    

Dans ce cas colle ici le script stp  :p

Reply

Marsh Posté le 22-06-2004 à 01:44:52    

Batman-Fr a écrit :

non, le session_start est bien avant tout code, meme php en plus !


 
:??:


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 22-06-2004 à 06:39:55    

Je crois k'il entend par la k'elle doit se trouver au debut du code , enfin avant ke koike se soti soit affiché

Reply

Marsh Posté le 22-06-2004 à 09:57:53    

:hello:
 
voila le code qui fonctionne :
 

Code :
  1. <?php
  2. session_start();
  3. include('../PATH.inc.php');
  4. ?>
  5. <?php
  6. //session_start();
  7. include('../PATH.inc.php');
  8. // Vérification de l'autorisation
  9. if ($_SESSION["SESSOK"] != 1 || $_SESSION["SESSOK"] == 0)
  10. {
  11.     // Si l'utilisateur n'est pas autorisé il est reconduit
  12.     // sur le formulaire d'identification
  13. header("Location: " .$GLOBALS['www_PATH'] ."index.php?err=nosess" );
  14.     exit;
  15.     }
  16. ?>


 
maintenant, quand je place le code de la 2eme balise PHP dans un fichier en include de la maniere suivante, ca ne fonctionne plus :

Code :
  1. <?php
  2. session_start();
  3. include('../PATH.inc.php');
  4. ?>
  5. <?php
  6. include($GLOBALS['www_PATH'] .'secu.inc.php');
  7. ?>


 
pour info, le

Code :
  1. include('../PATH.inc.php');

ne sert uniquement qu'a declarer ma variable $GLOBALS['www_PATH']


Message édité par Batman-Fr le 22-06-2004 à 09:58:59

---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
Reply

Marsh Posté le 22-06-2004 à 11:35:43    

un petit global fera l'affaire :))
 

Code :
  1. <?php 
  2.   session_start();
  3.   include('../PATH.inc.php'); 
  4.   ?>
  5.   <?php 
  6.   global $GLOBALS;
  7.   include($GLOBALS['www_PATH'] .'secu.inc.php'); 
  8.   ?>

Reply

Marsh Posté le 22-06-2004 à 11:35:43   

Reply

Marsh Posté le 22-06-2004 à 11:58:56    

ca me sert a quoi ? (j'ai du mal a cerner l'interet des GLOBALS)


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
Reply

Marsh Posté le 22-06-2004 à 12:23:52    

C plusieurs manieres d'ecrire plus ou moin la meme chose

Reply

Marsh Posté le 22-06-2004 à 12:55:47    

ça sert surtout à faire marcher... en gros tu as déclaré ta variable dans le fichier PATH.inc.php et en la mettant global tu dis que tu vas l'utiliser maintenant...
c pas super pratique (voir super chiant même) mais ça a l'avantage de ne pas déclarer 36 000 variables partout dans le code sans qu'on sache à quoi elles correspondent !

Reply

Marsh Posté le 22-06-2004 à 13:21:51    

titione a écrit :

un petit global fera l'affaire :))
 

Code :
  1. <?php 
  2.   session_start();
  3.   include('../PATH.inc.php'); 
  4.   ?>
  5.   <?php 
  6.   global $GLOBALS;
  7.   include($GLOBALS['www_PATH'] .'secu.inc.php'); 
  8.   ?>




 
Inutile car $GLOBALS est un tableau PHP prédéfini qui est superglobal (comme $_POST, $_GET ...) : http://fr2.php.net/manual/en/reserved.variables.php

Reply

Marsh Posté le 22-06-2004 à 15:14:02    

en attendant, cela ne repond pas a mon probleme :D
 
a vot' bon coeur m'sieurs dames


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
Reply

Marsh Posté le 22-06-2004 à 15:22:18    

et en faisant :

Code :
  1. <?php 
  2.   session_start();
  3.   include($_SERVER['DOCUMENT_ROOT'].'/ton_chemin/PATH.inc.php'); 
  4.   include($include_path.'secu.inc.php'); 
  5.   ?>


 
et dans PATH.inc.php

Code :
  1. <?php
  2. $include_path = $_SERVER['DOCUMENT_ROOT']."ton/chemin/include/";
  3. ?>


 
Cela devrait fonctionner car c'est comme cela que je fais


Message édité par T509 le 22-06-2004 à 15:22:54
Reply

Marsh Posté le 23-06-2004 à 15:19:36    

j'y penserai pour le prochain site, merci :jap:
 
sinon, concernant mon probleme d'include et de session, personne ne peut m'aider ?


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed