IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Sessions à retard ?!


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Points : 68
    Points
    68
    Par défaut Sessions à retard ?!
    Bonjour,

    La théorie :
    J'ai une page principale index.php qui, selon les liens, inclus tel ou tel fichier. Lorsque que je sélectionne le lien "Administration", ma variable $_SESSION['menu'] est changée de "menu1" en "menu2" et gere des menus différents d'une page à l'autre.

    La pratique :
    Sur la page principale avec le menu1 (normal), je clique sur le lien d'Administration et accède à cette page, mais en concervant le menu 1.
    Par contre, si j'actualise la page, je change bien de menu

    Est ce que quelqu'un peut m'explique ? Je comprend pas bien
    Merci d'avance !

  2. #2
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 75
    Points : 61
    Points
    61
    Par défaut
    Pourrai tu poster ton code stp!

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Points : 68
    Points
    68
    Par défaut
    Oui j'aurais du le poster, j'etais fatigué et un peu énervé hier soir ...

    le fichier index.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    <?php
    session_start();
    if(!isset($_SESSION['menu']))
    {
    $_SESSION['menu']="general";
    }
    require("pages/fonction.php"); ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    <title>Titre</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <!--***************************************************   GESTION DES STYLES   *********************************************-->
    <link rel="stylesheet" media="screen" type="text/css"  title="general" href="styles/index.css">
    <link rel="stylesheet" media="screen" type="text/css" href="styles/menu_main.css">
    <link rel="stylesheet" media="screen" type="text/css" href="styles/menu_admn.css">
    </head>
     
     
    <body>
    <div id="conteneur">
     
    	<div id="header">
    	<?php
    	include("./pages/fix_entete.php");
    	?>
    	</div>
     
     
    	<div id="menu">
    <!--**GESTION DU MENU***-->
    		<?php
    		echo $_SESSION['menu'];
    		switch($_SESSION['menu'])
    		{
    		case "general":
    			include("./pages/menus/menu_main.php");
    			break;
    		case "admn":
    			include("./pages/menus/menu_admn.php");
    			break;
    		}
     
    		?>
    	</div>
     
    	<div id="centre">
    	<?php include("pages/fix_titres.php");?>
     
     
    			<?php
     
    			if (isset($_GET['page']))
    			{
    				$page = htmlentities($_GET['page']);
     
    				if ($page == "presentation")
    				{include('pages/presentation'.'.php');}
     
    				elseif ($page == "societe")
    				{include('pages/societe.php');}
     
    				elseif ($page == "investigation")
    				{include("pages/investigation.php");}
     
    				elseif ($page == "moyens")
    				{include("pages/moyens.php");}
     
    				elseif ($page == "prestations")
    				{include("pages/prestations.php");}
     
    				elseif ($page == "telecharger")
    				{include("pages/download.php");}
     
     
    				elseif ($page == "Acces")
    				{include("pages/admin_accueil.php");
    				}
     
    				elseif ($page == "contact")
    				{include("pages/contact.php");}
     
    				elseif ($page == "accueil")
    				{include ('pages/accueil'.'.php');}
     
    				elseif ($page == "clients")
    				{include ('pages/listclients'.'.php');}
     
    				elseif ($page == "admin")
    				{
    					if($_SESSION['pinterne']= "upload")
    					{include ('pages/listclients'.'.php');}
    					else
    					{echo "Page refusée :<BR> Page d'accueil : <a href=\"index.php\"";
    					$_SESSION['pinterne']= "";
    					$_SESSION['menu']= "general";
    					}
    				}
     
    			}
    			else
    			{include ('pages/accueil'.'.php');}
    			?>
      	</div>
     
     
     
    </div>
     
     
    </body>
    </html>
    le premier menu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <ul class="menugauche">
    <li><a href=index.php?page=accueil>Accueil</a></li>
    <li><a href="index.php?page=presentation">Présentation</a></li>
    		<li class="ssmenu"><a href="index.php?page=societe">Société</a></li>
    		<li class="ssmenu"><a href="index.php?page=investigation">Investigation</a></li>
    		<li class="ssmenu"><a href="index.php?page=moyens">Moyens</a></li>
    		<li class="ssmenu"><a href="index.php?page=prestations">Prestations</a></li>
    <li><a href="index.php?page=Acces">Accès membre</a></li>
    <li><a href="index.php?page=telecharger">Telechargement</a></li>
    <li><a href="index.php?page=contact">Nous contacter</a></li>
    </ul>
    Le second menu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <ul>
    	<li id="gestion"><a href="../gestion/index.php" Title="Zone \"Gestion\" d'hélène ">Zone Gestion</a></li><br />
    	<li><a href="pages/test.php" Title="Créer un nouveau dossier de travail">Création de dossier</a></li><br />
    	<li><a href="" Title="Suprime dossier de travail">Supression de dossier</a></li><br />
    	<li><a href="" Title="Affiche les détails">Détails du compte</a></li><br />
    	<li><a href="" Title="Mise en ligne des fichiers à envoyer">Mise en ligne</a></li><br />
    	<li><a href="" Title="Modification du code d'accès à la zone membre">Modification code accès</a></li><br />
    	<li id="newclient"><a href="pages/creerclient.php" Title="Nouveau client" onclick="<?php $choixpageadmin="nouveau_client"?>">Nouveau client</a></li><br />
    	<li><a href="./pages/destroy.php" Title="Destruction de session">Destruction session</a></li>
    </ul>
    <br />
    Dans le fichier principal, le lien accès membre me mène à une page transitoire qui teste Login et mot de passe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <?php
    session_start();
    echo "La session vaut $_SESSION['menu']";
    if(isset($_POST['login']) AND isset($_POST['motdepasse']))
    	{
    	$login = htmlentities($_POST['login'], ENT_QUOTES);
    	$motdepasse = htmlentities($_POST['motdepasse'], ENT_QUOTES);
     
     
    	mysql_connect("Localhost", "domaine", "motdudomaine");
    	mysql_select_db("database");
    	$requete = "SELECT * FROM droitsacces WHERE login='toto'";
    	$reponse = mysql_query($requete);
    			while ($donnees = mysql_fetch_array($reponse) )
    			{
    				if($donnees['password'] == $motdepasse)
    					{
    					$_SESSION['menu']= "admn";
    					include('upload.php');
    					}
    				ELSE
    					{
    					echo "\"Login\" ou \"mot de passe\" incorrect<BR>Veuillez ressaisir vos identifiants.";
    					}
    			}
     
    	mysql_close();
    	}
    ELSE
    	{ ?>
    <h3><span class="crochet">[ </span>Espace de téléchargement<span class="crochet"> ]</span></h3><br />
    <h4>Cette zone est une zone de téléchargement privée.</h4>
    <p>Pour y avoir accès, munissez vous de votre <em>Login</em> et <em>Mot de passe</em> :<br /><br /></p>
     
    <form action="index.php?page=upload" method="post">
    <p>Login : <input type="text" name="login" title="Veuillez saisir votre login"/><br /><br />
    Mot de passe : <input type="password" name="motdepasse" title="Veuillez saisir votre mot de passe" size=11px/><br /><br /><br />
     
    <input type="submit" name="accepter" value="Valider !"/>
    </p>
    </form>
    <?php 
    	}
    ?>
    et enfin la zone membre, dans laquelle le menu devrait changer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
    session_start();
    $_SESSION['menu']= "admn";
    if($_SESSION['menu'] !== "admn")
    	{
    	//header("Location: http://www.monsite.fr");
    	echo "Erreur de session à gerer en admn-privé";
    	exit;
    	}
    ?>
     
     
    <br /><br />
    <div><h2>BIENVENUE DANS LA ZONE D'ADMINISTRATION :</h2><br /><br /><br /></div>
    <div class="menuadmin">
     
    <div>
    <p> Ici s'affichera diiférents élements par include en fonction du choix ds le menu</p>
     
    </div>
    Si qqun peut se pencher sur mon cas, ca serait vraiment sympa ! Ca fait une semaine que je traine ce pbs

    d'avance !

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Points : 68
    Points
    68
    Par défaut
    Bon, petit manque de motiv !
    C'est dommage, je vais continuer à criser dans mon coin !
    Merci quand meme à silver59

Discussions similaires

  1. [Servlets - JSP] Problème de session
    Par the java lover dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 28/11/2011, 09h54
  2. [DLL] -> Retarder le chargement ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 3
    Dernier message: 18/08/2003, 20h32
  3. [XMLRAD] session
    Par jml dans le forum XMLRAD
    Réponses: 4
    Dernier message: 17/12/2002, 09h24
  4. DirectX 6, un peu en retard ... :\
    Par multani dans le forum DirectX
    Réponses: 3
    Dernier message: 28/05/2002, 19h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo