8791 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Je développe un site depuis quelques années, mais je viens de découvrir un bug dû à la perte de variables de session. Elles ne sont pas vraiment perdues, mais n'apparaissent pas dans mon script. Pour tester, j'ai simplement créé un script session.php que j'ai copié dans deux répertoires différents :

monsite.com/tv/session.php
monsite.com/test/session.php

Le code est tout simple :

<?php
session_start() ;

echo "<pre>\n" ;
print_r($_SESSION) ;
echo "\n</pre>\n" ;

?>


Les variables affichées ne sont pas les mêmes dans les deux répertoires ! Est-ce normal ? Comment élargir la portée de $_SESSION à tout le site ?

Merci pour votre aide !
Bonjour,

Pour éviter d'ouvrir un autre sujet sur le même problème, je me permet d'expliquer mon cas, on a peut-être la même source de problème. Je m'explique :

La dernière fois que j'avais fait du PHP IE7 n'était pas sortie (peut-être un indice ?) et je n'avais pas de problème (pas d'onglets)

j'ai une page de log (index.php) :


if (isset($_POST['login']) && isset($_POST['pwd']))
{
	//controle
	if ($_POST['login']=='vince' && $_POST['pwd']=='test')
	{
		session_start();		
		$_SESSION['user'] = $_POST['login'];
		$_SESSION['ESTIDENTIFIE']=true;		
		header('location:accueil.php');		
	}
	else
		echo 'incorrecte';
}

Formulaire ensuite


si je mets le code suivant dans ma page accueil.php :

session_start();
print_r($_SESSION);


Sur Chrome et opera j'ai bien mais valeurs :
Array ( Smiley user => vince [ESTIDENTIFIE] => 1 );

Sous Internet explorer 7 / 8 / 9
Array ( )

Je ne comprend pas, surtout que l'interface d'admin sera utilisé par des postes IE Smiley bawling

Merci de votre aide.
Modifié par conan76 (14 Dec 2011 - 15:26)
Pour moi c'est trouvé, le problème vient du nom du serveur qui contient un "_", j'ai utilisé un alias à la place et ça marche.
Désolé du dérangement.