8792 sujets

Développement web côté serveur, CMS

Bonjour, je galère depuis 3 jours avec ces p!!!!!! de sessions en php.
J'ai un fichier index.php qui regroup 4 sections div, un bandeau de base, et encore il n'y a rien dedans, c'est une ébauche de site, un formulaire de login, un contenu et un pied de page.
Voici le code du fichier index.php

<?
session_start();
?>
<html>
	<head><title>Essai de site</title>
	<link rel="stylesheet" type="text/css" href="div_style.css">
	<script type="text/javascript" src="form.js"></script>
	<script type="text/javascript" src="spaincom.js"></script>
	</head>
<body>
<div id="bandeau">Bienvenue sur ce super site!!</div>
<div id="menu">
<?
	if (isset($_SESSION['prenom']) && isset($_SESSION['nom'])) {
		include 'connected.php';
		$_SESSION['caddie']="index2";	
	} else
		if (isset($_POST['Login'])) {
				$tmp=explode(".",$_POST["Login"]);
				$_SESSION['nom']=$tmp[0];	
				$_SESSION['prenom']=$tmp[1];	
				$_SESSION['caddie']="index2";
				include 'connected.php';
			} else include 'login2.php';
?>
</div>
<div id="contenu">
<?
	if (! isset($_SESSION['caddie'])) {
		echo "Contenu";
	} else 
		include($_SESSION['caddie']. '.php');
	?>	
	
</div>
<div id="piedpage">Pied<? if (isset($_SESSION['caddie'])) echo '<script>initpage();</script>' ?></div>
</body>
</html>


Je fais bien un session_start() au tout début de la page, et je n'en fais plus après car je n'ouvre pas d'autre page, je ne fais que des include qui ne nécessitent pas de session_start() et de toute façon ça provoque une erreur si j'en met un dans un des fichier php que j'inclus Smiley biggrin

le fichier login2.php est un simple formulaire demandant le login et mot de passe, la method est POST et action=index.php, d'ou le $_POST['Login'] pour récupérer la valeur transmise.

Là où je bloque c'est qu'une fois $_SESSION['nom'] et $_SESSION['prenom'] ainsi que n'importe quelle variable de session instanciée, elles sont perdues lorsque la page index.php est réinitialisée!!
Hors, d'après ce ue j'ai pu lire sur différents foroms et sites, quand on fait un session_start, il récupère la session existante ou en crée une nouvelle le cas échéant.
Mon hébergeur est Free, et même en local avec EasyPhp 1.8 ça ne fonctionne pas.

Please HELP!!!
Je deviens fou !!! Smiley biggol
MeRcI
Non, j'ai pas de message d'erreur, ça ne me fait pas d'erreur, mais quand je recharge la page d'index sans qu'il y ait en parametre de la page la variable Login du formulaire, il ne trouve pas les variables de session 'nom' et 'prenom', or il devrait les trouver car elles sont sauvegardées lors de l'identification de l'utilisateur (partie
 if (isset($_POST['Login'])) 
). Mais vu qu'il les trouve pas, il me ramène sur le fichier login2.php.