Bonjour, Ayant eu une très bonne réponse à mon premier pb, je tente le deuxième: Toujours pour un passage de EasyPhp à Wamp, j'en profite pour remplacer les cookies et variables globales par des choses plus propres: variables de session. Donc en théorie si on fait $_SESSION['param1']='test'; On devrait récupérer cette valeur dans les autres pages php avec $mavaleur=$_SESSION['param1'] Mais pas du tout... enfin ça fonctionne pas dans mon cas.
En détail: fic1.php $_SESSION['base']='LOR'; header("location: pfic2.php"
pfic2.php if (isset($_SESSION['base'])) { echo $base; }
Modifie 1 fois. Derniere modification le 01/12/2008 à 16:43 par laurent35.
mais oui ! mais c'est bien sur ! ça marche impec. Il y a un aussi paramètre dans php.ini qui est: session.auto_start=1 du coup j'ai pas besoin de mettre le session_start() dans chaque fichier ? correct ? merci les pros.
laurent35 a écrit: ------------------------------------------------------- > Il y a un aussi paramètre dans php.ini qui est: session.auto_start=1 > du coup j'ai pas besoin de mettre le session_start() dans chaque fichier
Ça fonctionnera en local, mais, si un jour vous passez chez un hébergeur, ça ne fonctionnera plus.
Si vous programmez correctement, c'est à mettre dans un fichier include, comme ça, on ne l'oublie pas.
Par exemple, chacune des pages doit commencer par quelque chose du genre :
<?php require('inc/entete.php');
Et, le fichier entete.php commence par :
<?php if (empty($charset)) $charset="iso-8859-1"; header("content-type:text/html; charset=$charset" session_start(); ob_start('ob_gzhandler'); setlocale(LC_CTYPE,'french');
$_SESSION['base'] et $base sont deux variables complètement différentes. Elles ne deviennent similaires que parce que vous mettez register_globals = On, ce qui est laisser les portes et les fenêtres ouvertes aux pirates.
if (isset[$_SESSION['base'])) echo $_SESSION['base'] ;
ou, comme pis aller : if (isset[$_SESSION['base'])) $base = $_SESSION['base'] ; echo $_SESSION['base'] ;