Achetez et vendez votre matériel multimédia d'occasion sur notre service de petites annonces informatiques gratuites

Session et redirection page PHP

Forum informatique > Aide création et gestion de site > Session et redirection page PHP

<<<1>>>

[Page 1 sur 1 - 2 messages]
Informations Messages

salva57

Avatar de salva57
266 messages
Processeur
Processeur

Lien direct Le 23 Juin 2010 à 22h23

Bonjour,


J'ai une BD "utilisateur" avec les champs :
Matricule
Nom
MDP
Privilege (Soit Administrateur soit Membre [ce champ n'est pas inclus dans le formulaire])

Le fonctionnement voulu est :
Soit je ne suis pas authentifié (Matricule ou nom ou MDP = pas ok) dans ce cas je reste sur la page du formulaire
Soit je suis authentifier en temps qu'administrateur dans ce cas je vais sur la page administration
Soit je suis authentifier en temps que membre dans ce cas je vais sur la page membre.

Mais je n'y arrive pas. Pour l'instant l'authentification ne se fait que par le matricule et le MDP pas le nom et
soit on est pas authentifié et on reste sur la page du formulaire
soit on est authentifier et on va sur la page administrateur.

En fait le problème est que le comportement proposé par Dreamweaver ne permet de faire que deux choix et pas trois.
D'ou mon problème.

Voici le code actuel :


<?php
// *** Validate request to login to this site.
session_start();

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($accesscheck)) {
$GLOBALS['PrevUrl'] = $accesscheck;
session_register('PrevUrl');
}

if (isset($_POST['Matricule'])) {
$loginUsername=$_POST['Matricule'];
$password=$_POST['MDP'];
$MM_fldUserAuthorization = "privilege";
$MM_redirectLoginSuccess = "/administrateur.php";
$MM_redirectLoginFailed = "/index3.php"; /* c'est la page du formulaire*/
$MM_redirecttoReferrer = false;
mysql_select_db($database_CR, $CR);

$LoginRS__query=sprintf("SELECT Matricule, MDP, privilege FROM utilisateur WHERE Matricule='%s' AND MDP='%s'",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));

$LoginRS = mysql_query($LoginRS__query, $CR) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {

$loginStrGroup = mysql_result($LoginRS,0,'privilege');

//declare two session variables and assign them
$GLOBALS['MM_Username'] = $loginUsername;
$GLOBALS['MM_UserGroup'] = $loginStrGroup;

//register the session variables
session_register("MM_Username");
session_register("MM_UserGroup");

if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>



Merci de votre aide

@+

 

cadav0r

Avatar de cadav0r
714 messages
Carte Mère
Carte Mère

Lien direct Le 24 Juin 2010 à 09h32

Bonjour,

Il te faut ajouter la récupération du nom vial e POST et dans la requête SQL pour le valider aussi

Ensuite de faire la redirection (header(Location:...)) en fonction de la valeur du champ privilège récupéré.

Ton système manque de protection ne serait-ce qu'un petit hashage du mot de passe pour ne pas l'enregistrer en clair (fonctions hash(), md5(), etc...)

J'espère t'avoir mis sur la voie, n'hésite pas à revenir sinon...

 

<<<1>>>

[Page 1 sur 1 - 2 messages]

Forum informatique > Aide création et gestion de site > Session et redirection page PHP