Redirection apres authentification

Fermé
latnok - Modifié par jordane45 le 6/01/2015 à 16:46
 latnok - 6 janv. 2015 à 17:54
Bonjour voici mon code php:
<?php require_once('Connections/gesco.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['nom'])) {
  $loginUsername=$_POST['nom'];
  $password=$_POST['mot_de_passe'];
  $MM_fldUserAuthorization = "privileges";
  $MM_redirectLoginSuccess = "Accueil_SG.php";
  $MM_redirectLoginFailed = "index.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_gesco, $gesco);
   
  $LoginRS__query=sprintf("SELECT nom, mot_de_passe, privileges FROM users WHERE nom='%s' AND mot_de_passe='%s'",
  get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password)); 
   
  $LoginRS = mysql_query($LoginRS__query, $gesco) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
    
    $loginStrGroup  = mysql_result($LoginRS,0,'privileges');
    
    //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 );
  }
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>GESCO V1.0</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>
<body>


<form ACTION="<?php echo $loginFormAction; ?>" method="POST" enctype="multipart/form-data">
   <div align="left">
     <table width="1251" border="0" bgcolor="#00FFFF">
                <tr>
                  <td width="189" height="152"><img name="" src="image/logo police.png" width="215" height="191" alt="log"></td>
                  <th width="1062" nowrap background="0"><div align="center"> 
                    <p align="center"><span class="Style17">GESCO V1.0</span></p>
                    <p align="center" class="Style18">Gestion de la Main courante et du Fichier des Délinquants </p>
                    <p align="center"> </p>
                  </div></th>
                </tr>
              </table>
   </div>
   <p> </p>
   <table width="59%" border="0" align="center">
              <caption>
       <span class="Style5">     </span>
    </caption>
  </table>
            <div align="center">
     <p><br>
     </p>
  </div>
   <table width="42%" height="40" border="0" align="center" cellspacing="0" bgcolor="#00FFFF">
              <tr>
                <td><table width="100%" height="179" border="0" align="center" bordercolor="#FFFFFF" bgcolor="#FFFFFF">
                  <tr bgcolor="#333333">
                    <td height="31" colspan="2" bgcolor="#00FFFF" ><div align="center" class="Style11 Style14 Style19" >AUTHENTIFIEZ-VOUS ! </div></td>
                  </tr>
                  <tr>
                    <td colspan="2" bgcolor="#FFFFFF" class="barco_rouge"></td>
                  </tr>
                  <tr>
                    <td width="32%" height="43" bgcolor="#FFFFFF" class="barco_rouge"><div align="center" class="Style3 Style13 Style14">
                        <div align="right" class="barco_rouge"><span class="Style11">Nom utilisateur </span>:</div>
                    </div></td>
                    <td width="68%" bgcolor="#FFFFFF"><label>
                      <div align="left">
                        <input name="nom" type="text" id="nom" size="22" />
                      </div>
                    </label></td>
                  </tr>
                  <tr>
                    <td height="24" bgcolor="#FFFFFF" class="barco_rouge"><div align="center" class="Style3 Style13 Style14">
                        <div align="right" class="barco_rouge Style3"><span class="Style11">Mot de Passe</span>: </div>
                    </div></td>
                    <td valign="top" bordercolor="#FFFFFF" bgcolor="#FFFFFF"><label>
                      <div align="left">
                        <input name="mot_de_passe" type="password" id="mot_de_passe" size="22" />
                        <span class="Style15"><a href="admin/modif_password.php" target="_self" title="Cliquez ici pour effectuer une Modification  de votre Mot de Passe."></a></span> </div>
                    </label></td>
                  </tr>
                  <tr>
                    <td height="50"><label></label>
                        <label></label>
                        <div align="center"></div>
                      <div align="center"></div>
                      <div align="center"></div>
                      <div align="left"></div>
                    <div align="center"></div></td>
                    <td>
                      
                      <div align="left">
                        <input name="upload" type="submit" id="upload" value=" Se Connecter" title="Apres avoir entré vos informations,cliquez ici pour vous connecter." />
                      <a href="modif_password.php" target="_parent"></a>                      </div></td></tr>
                </table></td>
              </tr>
  </table>

</form>
            <p align="center" class="Style1"> </p>

</body>
</html>



j'aimerai que si un utilisateur s'authentifie qu'il soit rediriger en fonction de ses privileges vers les pages approprés,quelqu'un peu t'il m'aider comment ajouter svp



EDIT : Ajout des balises de code !

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
6 janv. 2015 à 16:53
Bonjour,

1 - Penses à utiliser les balises de code lorsque tu postes du code sur le forum
Explications disponibles ici :https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code


2 - Tu utilises l'extension "mysql" ( mysql_result..) .. hors cette extension est considérée comme obsolète depuis PHP 5.5
(voir ici : https://www.php.net/manual/fr/migration55.deprecated.php
Je te conseille de passer à mysqli ou à la PDO. (petite préférence pour la PDO)

3 - Tu veux rediriger tes utilisateurs en fonction de leurs droits.. c'est à dire ?
Sur quoi doit se baser cette redirection ? Comment détermines tu sur quelle page il a accès ou non et sur laquelle il doit être redirigé ?


4 - Je vois que tu récupères la page où tu te trouves pour l'injecter dans ta FORM
<form ACTION="<?php echo $loginFormAction; ?>"

Hors..; si tu veux faire le submit sur la même page.. il suffit de ne rien mettre dans l'action.
<form action="" method="post" name="maform">

0
Bonjour Jordan45 et merci pour vos remarques et suggestions,voila mon probleme,j'ai une table users ou les utilisateurs possede des privileges(2,1,0) et à chaque niveau de privileges correspond un acces(exemple privilege 2 page d'acceuil :admin.php;privilege 1 page d'accueil:gestionnair.php et enfin privilege 0 page d'accueil :accueil.php) donc j'aimerai qu'à chaque fois qu'un utilisateur se connecte qu'il soit redirige en fonction du niveau de privilege vers la page d'accueil approprié
0