par
Neomcdn » 14 févr. 2007, 13:07
Bonjour à tous et bonne fête à tous les amoureux!
Je suis en train de développer la partie administration du site, et pour cela je crée différents groupes d'utilisateurs: client, contributeur, administrateur.
J'ai appris avec Dreamweaver à restreindre les accès à certaines pages, cependant je ne sais pas comment rediriger en fonction du groupe d'utilisateurs lors du login.
Mon code est le suivant:
Code : Tout sélectionner
<?php require_once('Connections/administration.php'); ?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['login'])) {
$loginUsername=$_POST['login'];
$password=$_POST['password'];
$MM_fldUserAuthorization = "groupe_client";
$MM_redirectLoginSuccess = "index-administration.php";
$MM_redirectLoginFailed = "erreur_authentification.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_administration, $administration);
$LoginRS__query=sprintf("SELECT login, password, groupe_client FROM tbl_client WHERE login='%s' AND password='%s'",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));
$LoginRS = mysql_query($LoginRS__query, $administration) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = mysql_result($LoginRS,0,'groupe_client');
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
Pour l'instant, en cas de réussite lors du log, tout le monde est redirigé vers la page index-administration.php, quelquesoit le groupe dans lequel le loggué est inscrit.
Comment faire pour qu'en fonction du groupe on obtienne une page différente:
Code : Tout sélectionner
If { groupe_client=administrateur } else{ $MM_redirectLoginSuccess = "admin-administration.php";
If { groupe_client=contributeur } else{ $MM_redirectLoginSuccess = "contrib-administration.php";
If { groupe_client=client } else{ $MM_redirectLoginSuccess = "client-administration.php";} } }
Merci d'avance pour votre aide!
Bonjour à tous et bonne fête à tous les amoureux! :wink:
Je suis en train de développer la partie administration du site, et pour cela je crée différents groupes d'utilisateurs: client, contributeur, administrateur.
J'ai appris avec Dreamweaver à restreindre les accès à certaines pages, cependant je ne sais pas comment rediriger en fonction du groupe d'utilisateurs lors du login.
Mon code est le suivant:
[code]<?php require_once('Connections/administration.php'); ?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['login'])) {
$loginUsername=$_POST['login'];
$password=$_POST['password'];
$MM_fldUserAuthorization = "groupe_client";
$MM_redirectLoginSuccess = "index-administration.php";
$MM_redirectLoginFailed = "erreur_authentification.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_administration, $administration);
$LoginRS__query=sprintf("SELECT login, password, groupe_client FROM tbl_client WHERE login='%s' AND password='%s'",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));
$LoginRS = mysql_query($LoginRS__query, $administration) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = mysql_result($LoginRS,0,'groupe_client');
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
[/code]
Pour l'instant, en cas de réussite lors du log, tout le monde est redirigé vers la page index-administration.php, quelquesoit le groupe dans lequel le loggué est inscrit.
Comment faire pour qu'en fonction du groupe on obtienne une page différente:
[code]If { groupe_client=administrateur } else{ $MM_redirectLoginSuccess = "admin-administration.php";
If { groupe_client=contributeur } else{ $MM_redirectLoginSuccess = "contrib-administration.php";
If { groupe_client=client } else{ $MM_redirectLoginSuccess = "client-administration.php";} } }[/code]
Merci d'avance pour votre aide!