8791 sujets

Développement web côté serveur, CMS

Bonjour,

Je suis en train de travailler sur un site dont certains menus sont cachés tant que l'on est pas logué en tant qu'administrateur.
Tout fonctionne correctement lorsque je travail en locale (les menus s'affichent bien une fois logué) mais quand j'ai uploader mon site en ligne, ils ne s'affichent plus une fois enregistrer.

Pour que les menus s'affichent, je crée une variable de session si l'identifiant et le pass sont juste, ensuite je teste dans les page si la variable de session est présente ou non pour les afficher.


Voici mon code de login :


<?php
	session_start();
	if(isset($_POST["login"])){
		if(isset($_POST["pass"])){
			$plog = $_POST["login"];
			$ppass = md5($_POST["pass"]);
			
			require("../config.php");
			$link = mysql_connect($host,$log,$pass) or die("la connexion à échoué");
			$dbsel = mysql_select_db($db,$link) or die("selection impossible");
			
			function get_administrateur(){
				$plog = $_POST["login"];
				$ppass = md5($_POST["pass"]);
				$tabAdmin = array();
				$reqAdmin = "	SELECT *
								FROM administrateurs 
								WHERE Login = '".$plog."' 
								AND Pass = '".$ppass."' ";
				$dataAdmin = mysql_query($reqAdmin) or die ("La requête pour les Admin dans login a échoué");
				$i=0;
				
				while($Admincourant = mysql_fetch_assoc($dataAdmin)){
					$tabAdmin[$i] = $Admincourant;
					$i++;
				}
				return $tabAdmin;
			}
			
			
			$Admin = get_administrateur();
			
			
				if($Admin[0]['Login'] == $plog AND $Admin[0]['Pass'] == $ppass){
					$_SESSION["UserValid"] = true;
					if($Admin[0]["Admin"] == '1'){
						$_SESSION["Admin"] = true;
					}
					else{$_SESSION["Admin"] = false;}
					//setcookie("uv2" , true , time()+(15*24*3600));/* crée un cookie pour se souvenir du log et pass*/
					header("Location: ../home.php");
				}
				else{$_SESSION["UserValid"]= false;}

		}
	}
?>


Et mon code pour l'affichage :


<?php
session_start();
if(isset($_SESSION["UserValid"])) { echo 
<p>
	La session marche
</p>	
}
?>


Personnellement, je pense que le problème vient des variable de session qui ne se créent pas ou auquelles je n'ai pas accès en ligne...
Salut,

Si tu es chez free il faut que tu crées un dossiers sessions à la racine, sinon pour les autres renseigne toi au niveau de ton herbergeur.

Car s'il marche en local, il n'y a pas de raison pour qu'il ne marche pas en ligne.