Page 1 sur 1

Petite question sur le menu

Posté : 24 janv. 2012, 18:32
par ladinho
Bonjour m'sieurs dames,

j'aurai une petite question à vous poser en ce qui concerne un lien de mon menu, à savoir le lien, "guide d'utilisation"
En gros, lorsque l'utilisateur arrive sur le site, il se doit de se logguer, ou alors il n'accède à aucun autre lien. Si il essaye de cliquer, celui-ci renvoie directement vers la page d'accueil (donc là ou l'utilisateur est). En revanche, j'aurai souhaité que pour 1 lien, l'utilisateur puisse y accéder, même s'il n'est pas logué. Savez-vous comment faire ?

Voici comment est fourni mon menu :
Au début, je liste tous les liens disponibles en fonction des droits de l'utilisateur, et à la fin, le "if (!isset($_SESSION['id_user'])" fait que justement on n'accède a aucune page sans être préalablement identifié.
<div id="menu_haut">
	<a href="<?php echo $vespa_param['root']?>index.php" class="bouton">Accueil</a>
	<a href="<?php echo $vespa_param['root']?>vespa.php" class="bouton">Réaliser étude</a>
	<a href="<?php echo $vespa_param['root']?>rapport/rapport.php" class="bouton">Affaires</a>
	
        <?php
	if(isset($_SESSION['id_user']) and $_SESSION['id_user'] != 0 and !isset($_GET['dec']) or isset($_GET['log']))
        {
		if(isset($_SESSION['droits']) && $_SESSION['droits'] != '5')
                {
			echo '<a href="'.$vespa_param['root'].'rapport/archive_rapport.php" class="bouton">Archives</a>';
	        }
       }?>

	<a href="<?php echo $vespa_param['root']?>enregistrement.php" class="bouton">Mon profil</a>
			
	<?php
	if(isset($_SESSION['id_user']) and $_SESSION['id_user'] != 0 and !isset($_GET['dec']) or isset($_GET['log'])){
		if(isset($_SESSION['droits']) && $_SESSION['droits'] == '0' || $_SESSION['droits'] == '5' || $_SESSION['droits'] == '1')
                {
			echo '<a href="'.$vespa_param['root'].'administration/adm.php" class="bouton">Administration</a>';
		}
		if(isset($_SESSION['droits']) && ($_SESSION['droits'] == '5'))
		{
			echo '<a href="'.$vespa_param['root'].'manager.php" class="bouton">Manager</a>';
		}
		echo '<a href="'.$vespa_param['root'].'index.php?dec" class="bouton">Déconnexion</a>';
	}?>
	
		<a href="<?php echo $vespa_param['root']?>guide/guide.php" class="bouton">Guide d'utilisation</a>

		<?php
		if(!isset($_SESSION['id_user']))
		{
			logue($_SERVER['PHP_SELF']);
			exit;
		}?>
</div>
Et voici ma fonction logue :
 // affiche le formulaire de connexion. La variable $redirection indique la page atteinte après validation
function logue($redirection){
	global $vespa_param;
	if(isset($_GET['a']) && $_GET['a']=="authfail")
		$msg = "<p class=\"erreur\" style=\"text-align: center;\"><label for=\"errmsg\">Échec de l'authentification.</label></p>".
		"<p class=\"small\" style=\"text-align: center;\"><label for=\"errmsg\">Combinaison identifiant/mot de passe invalide.</label></p>";
		
	else $msg="";
	
echo '

<div style="text-align: center;">
	<fieldset style="width: 375px; position: relative; margin-top: 10%; margin-left: auto; margin-right: auto;">
		<legend>Identification</legend>
				'.$msg.'

<form method="post" action="'.$vespa_param['root'].'authentification.php?url='. $redirection . '">
	<p style="text-align: right;"><label for="email">Identifiant :</label><input type="text" name="email" id="email" size="35" tabindex=1 placeholder = "Veuillez indiquer votre E-mail"></p>
	<p style="text-align: right;"><label for="pwd">Mot de passe :</label><input type="password" name="pwd" id="pwd" size="35" tabindex=2></p>
	<div class="boutons">
		<input type="submit" value="Connexion" tabindex=5/>
	</div>
</form>

	
				</div>
			</fieldset>
		</div>
	</div>'; // la variable $_GET['log'] permet de signifier que l'utilisateur vient de se loguer
}



Par avance, merci pour votre aide

Re: Petite question sur le menu

Posté : 24 janv. 2012, 18:46
par moogli
Salut,

Ajouté une variable de session pour gérer cela.
Tu modifier ton code du if mis plus haut, au lieux de renvoyer vers l'index tu regarde si la variable de session existe si oui retour accueuil si non tu la créer et affiche la page.

Attention en cas de renvoi tu doit prévoir le fait que sur la seconde page la session existera (à moins que tout cela se fasse direct sur la seconde page dans ce cas c'est bon).

@+

Re: Petite question sur le menu

Posté : 25 janv. 2012, 11:19
par ladinho
merci l'ami !