Re: [LA-discussions] gestion de session php

[ Thread Index | Date Index | More linuxarverne.org/discussions Archives ]


Le lundi 22 avril 2013 18:48:05 Matthieu a écrit :
> une fois le formulaire validé et le couple 'id/pwd' est ok :
> - Tu définis le : $_SESSION['login']
> - Tu rediriges vers la bonne page (espace privé)

c'est ce que j'ai fait et je ne sais si ça peut donner une indication : si 
mon code de validation est dans un fichier séparé ça marche. Si je le met en 
fin de fichier (juste après la dernière ligne) sans modifier quoi que ce 
soit, ça ne marche pas, ou plutôt voilà ce qui se passe :
je reviens à la page de login et les modifications de menu qui normalement 
font apparaître entre autre le bouton de logout ne se font pas
si je rafraichis la page (f5) en renvoyant les paramètres (boite de dialogue 
de firefox) alors là tout fonctionne.

mon code est ci-dessous, les login/pwd sont dans le ../php-include/login-
keys.php, et je charge qq autres infos que le simple pwd dont la page de 
redirection qui n'est pas la mm pour tous les membres, mais comme dit plus 
haut le code marche dans un fichier séparé donc je ne vois pas ce qui ne va 
pas.

<?php
session_start();
include("../php-include/login-keys.php");
$defpwd = $pwdUser["default"];
if (isset($_POST['login']) && isset($_POST['pwd'])) {
	// Récupération des valeurs
	$login = $_POST['login'];
	$password = $_POST['pwd'];
	// Vérification login/password
	if (array_key_exists($login, $pwdUser) && $pwdUser[$login] == $password) 
{
		// enregistrement du login pour la session
		$_SESSION['login'] = $login;
		// enregistrement de la nature du mot de passe (défaut ou perso)
		if ($password == $defpwd) { $_SESSION['pass'] = "default";} else 
{$_SESSION['pass'] = "perso";}
		// Chargement des paramètres personnalisés
		$numPage = $pageUser[$login];
		$pagedef = $defPage[$numPage];
		$instvalue = 	$instUser[$login];	
		$_SESSION['inst'] = $instvalue;			//instruments à  afficher
		$_SESSION['pagedefnum'] = $numPage;		//numero de page par défaut
		$_SESSION['pagedef'] = $pagedef;		//nom de page par défaut
		//redirection
		header("Location: ". $pagedef);	//accès à la page
		exit;
	}
}
?>

-- 
Cordialement, Daniel Cartron
« Dieu a agi sagement en plaçant la naissance avant la mort; sans cela, que 
saurait-on de la vie ? »
Alphonse Allais.


--
Liste de discussions de LinuxArverne
http://wiki.linuxarverne.org/listes_de_diffusion


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/