Comment rediriger vers des pages différentes suivant le statut ? - PHP - Programmation
Marsh Posté le 29-03-2006 à 13:46:04
mais les gens arrêter de faire du PHP via dreamweaver.
dreamweaver ca vous sert à créer vos pages mais svp, apprenez à coder correctement. Le code généré par dreamweaver est atroce. Le pire c'est qu'il fait des trucs que tu ne comprends sûrement pas donc tu n'avanceras pas comme ca.
pour ton probleme voila ce que tu dois faire :
tu fais ta requetes comme ca
$req = mysql_query ("SELECT email, password, statut, page FROM login WHERE email='%s' etc)
pense à limiter ton résultat avec LIMIT 1 <-- tu recup qu'un enregistrement au cas ou tu aies plusieurs fois la même adresse mail dans ta base
ensuite tu vérifie qu'il y a au moins un enregistrement
Code :
|
voila tu as déjà la trame de comment faire ta redirection. ++
Marsh Posté le 29-03-2006 à 13:53:30
Je te remercie pour ton aide. Toutefois, je suis "un peu" agé et mon disque dur (cerveau) commence à saturer. Tout ceci pour te dire que je suis nul en programmation. Aussi, Dreamweaver me permettait d'arriver à un minimum de résultat, même si comme toi, je suis convaincu que c'est un pis aller. J'arrive donc à rediriger sur une page ou l'autre ($MM_redirectLoginSuccess = "page.php";
$MM_redirectLoginFailed = "login_error.php" mais pas d'effectuer un choix. Je vais essayer ce que tu me dis même si cela semble, en plus simple, de se rapprocher de ce qu'a fait Dream.
Marsh Posté le 30-03-2006 à 09:35:36
tu fais une requete qui selection l'adresse de ta page de redirection :
Code :
|
et ensuite tu insère ça dans ton code
Code :
|
Marsh Posté le 29-03-2006 à 10:23:39
Bonjour.
Je suis bloqué depuis 3 jours (quel mauvais !) devant un problème qui n'en est surement pas un pour les "bêtes de PHP que vous êtes".
En fait, je voudrais rediriger la personne qui se connecte sur un accès réservé de ma page d'accueil vers une page ou une autre ou encore une autre en fonction de son statut.
Je ne sais pas comment récupérer la variable page correspondante et comment l'utiliser.
J'ai créé une table avec email, password, statut et page :
id email password statut page
1 toto@free.fr xxxxx admin page1.php
2 titi@free.fr xxxxx utilisateur page2.php
3 tutu@free.fr xxxxx utilisateur2 page3.php
Voici le code source de ma page (avec l'aide de Dreamweaver) :
<?php require_once('Connections/db158466536.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['email'])) {
$loginUsername=$_POST['email'];
$password=$_POST['password'];
$MM_fldUserAuthorization = "statut";
$MM_redirectLoginSuccess = "page.php";
$MM_redirectLoginFailed = "login_error.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_db158466536, $db158466536);
$LoginRS__query=sprintf("SELECT email, password, statut, page FROM login WHERE email='%s' AND password='%s'",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));
$LoginRS = mysql_query($LoginRS__query, $db158466536) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = mysql_result($LoginRS,0,'statut');
//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 );
}
}
?>
Merci encore pour votre aide.
Bien amicalement
Message édité par kawasakix le 29-03-2006 à 12:04:31