Session et redirection page

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Session et redirection page

Re: Session et redirection page

par salva57 » 20 juin 2010, 12:18

Bonjour,

Euh, je m'en sort pas :oops:

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

@+

Re: Session et redirection page

par Aureusms » 17 juin 2010, 23:04

Tu verifies ton nom, MDP et privilège sur la page et si tout va bien tu rediriges vers l'autre pages avec les fonctions header ("location:...);

Session et redirection page

par salva57 » 17 juin 2010, 22:58

Bonjour,

Je débute avec les sessions.
J'utilise Dreamweaver et sa facilite la tache sauf quand on veut des truc compliqué comme moi :mrgreen:

J'ai donc réalisé un formulaire qui fait référence à une BD "utilisateur" qui contient :
Matricule
Nom
MDP
Privilege

Avec l'assistant de Dreamweaver il ne prend en compte dans le formulaire que le nom, le MDP et le privilege avec une direction vers une page qui vérifie que le privilège est le bon sinon on reste sur la page du formulaire. Sa marche.

Mais je voudrais en plus que selon le matricule on soit redirigé vers une page spécifique.

Je vois pas bien comment faire !!!
:oops:

Merci