Probleme de redirection en php

Fermé
Zedrof Messages postés 156 Date d'inscription mercredi 27 août 2014 Statut Membre Dernière intervention 9 juin 2022 - 7 janv. 2015 à 09:18
Zedrof Messages postés 156 Date d'inscription mercredi 27 août 2014 Statut Membre Dernière intervention 9 juin 2022 - 7 janv. 2015 à 12:44
Bonjour,
j'ai deux pages index.php et indexA.php donc j'aimerai redirige l'administrateur sur la page indexA.php et les utilisateurs sur la page index.php.

Dans mon code indexA.php j'ai:
<?php
session_start();
include "config/connexion.php";      
include "lib/fonction_date.php";

//LE TEMPS DES TESTS:
 //echo "<pre>Variables de session :<br>";
 //print_r($_SESSION);
 //echo "</pre>";
//----------------
$User = isset($_SESSION['user'])?$_SESSION['user']:NULL;

if(empty($User)) {//ce code permet de mettre le fichier login en acceuil au lieu de index
 //LE TEMPS DES TESTS: on desactive cette ligne :
 header('Location: login.php');
 //echo "<pre> SESSION['user'] est vide ! </pre>";
}
echo "Bienvenue <b> ".$User."</b>"; 
//le fichier index.php permet de lancer ts les fichiers de l'application
?>
<html>
 <head>
  <meta http-equiv="content-type"
   content="text/html; charset=utf-8"/>
 <link href="web/css/style.css" media="screen"
  type="text/css" rel="stylesheet"/>
 <script src="web/js/jquery.js" type="text/javascript"></script>
 <script src="web/js/prototype.js" type="text/javascript"></script>
 <script src="web/js/javascript.js" type="text/javascript"></script>  
 <link rel="stylesheet" href="web/js/jquery-ui.css" />
    <script src="web/js/jquery-1.8.3.js"></script>
    <script src="web/js/jquery-ui.js"></script>
    <link rel="stylesheet" href="/resources/demos/style.css" /> 
  <title> Gestion du Parc Informatique de RMCR</title>
  <link rel="icon" href="animated_favicon1.gif" type="image/gif">
  <link rel="shortcut icon" href="animated_favicon1.gif" type="favicon.ico" />
 </head>
 <body>
  <div id="menu">
  <a href="index.php?page=modules/historique/index.php">
  <strong>Historique</strong>
 </a>
  <a href="index.php?page=modules/mat/index.php">
  <strong>Materiel Affichage</strong>
 </a>
  <a href="index.php?page=modules/user/index.php">
  <strong>Utilisateur</strong>
 </a>
  <a href="index.php?page=modules/departement/index.php">
  <strong>Departement</strong>
 </a>
<a href="index.php?page=modules/table_utilisateur/index.php">
  <strong>Menbres</strong>
 </a> 
<a>
<a href="deconnexion.php"><strong>Déconnexion</strong></a> 
  </div>
 
  <div id="entete">
  <img src="web/images/logo2.jpg"
     width="100px" 
    height="59px">
 </div>
  <div id="corps">
  <?php
 $page = isset($_GET['page'])?$_GET['page']:NULL;
 //echo "<br> =>>> Page dans la variable GET = ".$page."<br>";
   if ($page){
   // on vérifie que la page existe avant d'essayer de l'inclure:
  if(file_exists($page)){
      include($page);
    }else{
    echo "Error ! La page ".$page." n'existe pas !";
  }
  }
   ?>
  </div>

  <div id="pied"><strong>© RMCR 2014 </strong></div>
   

 </body>
</html>


dans index.php
<?php
session_start();
include "config/connexion.php";      
include "lib/fonction_date.php";

//LE TEMPS DES TESTS:
 //echo "<pre>Variables de session :<br>";
 //print_r($_SESSION);
 //echo "</pre>";
//----------------
$User = isset($_SESSION['user'])?$_SESSION['user']:NULL;

if(empty($User)) {//ce code permet de mettre le fichier login en acceuil au lieu de index
 //LE TEMPS DES TESTS: on desactive cette ligne :
 header('Location: login.php');
 //echo "<pre> SESSION['user'] est vide ! </pre>";
}
echo "Bienvenue <b> ".$User."</b>"; 
//le fichier index.php permet de lancer ts les fichiers de l'application
?>
<html>
 <head>
  <meta http-equiv="content-type"
   content="text/html; charset=utf-8"/>
 <link href="web/css/style.css" media="screen"
  type="text/css" rel="stylesheet"/>
 <script src="web/js/jquery.js" type="text/javascript"></script>
 <script src="web/js/prototype.js" type="text/javascript"></script>
 <script src="web/js/javascript.js" type="text/javascript"></script>  
 <link rel="stylesheet" href="web/js/jquery-ui.css" />
    <script src="web/js/jquery-1.8.3.js"></script>
    <script src="web/js/jquery-ui.js"></script>
    <link rel="stylesheet" href="/resources/demos/style.css" /> 
  <title> Gestion du Parc Informatique de RMCR</title>
  <link rel="icon" href="animated_favicon1.gif" type="image/gif">
  <link rel="shortcut icon" href="animated_favicon1.gif" type="favicon.ico" />
 </head>
 <body>
  <div id="menu">
  <a href="index.php?page=modules/historique/index.php">
  <strong>Historique</strong>
 </a>
  <a href="index.php?page=modules/mat/index.php">
  <strong>Materiel Affichage</strong>
 </a>
  <a href="index.php?page=modules/user/index.php">
  <strong>Utilisateur</strong>
 </a>
  <a href="index.php?page=modules/departement/index.php">
  <strong>Departement</strong>
 </a> 
<a>
<a href="deconnexion.php"><strong>Déconnexion</strong></a> 
  </div>
 
  <div id="entete">
  <img src="web/images/logo2.jpg"
     width="100px" 
    height="59px">
 </div>
  <div id="corps">
  <?php
 $page = isset($_GET['page'])?$_GET['page']:NULL;
 //echo "<br> =>>> Page dans la variable GET = ".$page."<br>";
   if ($page){
   // on vérifie que la page existe avant d'essayer de l'inclure:
  if(file_exists($page)){
      include($page);
    }else{
    echo "Error ! La page ".$page." n'existe pas !";
  }
  }
   ?>
  </div>

  <div id="pied"><strong>© RMCR 2014 </strong></div>
   

 </body>
</html>



dans mon session
<?php
session_start();
include "config/connexion.php";

//--------------------------------------
// Le temps des tests :
//echo "<pre> Variables POST :<br>";
//print_r($_POST);
//echo "</pre>";
//--------------------------------------

//********************************//
// Recupération des variables :
//********************************//
$user=isset($_POST['user']) && $_POST['user'] !=''?$_POST['user']:NULL;
$pass=isset($_POST['pass']) && $_POST['pass'] !=''?$_POST['pass']:NULL;

//********************************//
// Préparation de la requete:
//********************************//
$sql = "SELECT * FROM table_utilisateur
      WHERE user = '".$user."'
      AND pass = '".$pass."'";
     
//--------------------------------------
// Le temps des tests :
//echo "<pre> La Requete est :<br>";
//echo $sql;
//echo "</pre>";
//--------------------------------------

//********************************//
// Execution de la requete:
//********************************//     
$req= $connexion->prepare($sql);
$resultat = $req->execute();

 //--------------------------------------
 // Le temps des tests :
//echo "<pre>Resultat :<br>";
//print_r($resultat);
//echo "</pre>"; 
  //--------------------------------------

$NbRow = $req->fetch(PDO::FETCH_NUM);
 //--------------------------------------
 // Le temps des tests :
//echo "<pre> NbRows =".$NbRow[0] ."</pre>";
 //--------------------------------------
if ($NbRow >=1){
 $_SESSION['user']=$user;
 unset($_SESSION['error_login']);
  //--------------------------------------
 // Le temps des tests :
 //echo "<pre> Variables de session:<br>";
 //print_r($_SESSION);
 //echo "</pre>";
 //--------------------------------------
 header('Location: index.php');
 exit;
}else{
 // destruction des variables de session
 session_destroy();
 $_SESSION['error_login'] = "Login ou mot de passe incorrect!!!";
 //--------------------------------------
 // Le temps des tests :
 echo "<pre> Variables de session:<br>";
 //print_r($_SESSION);
 echo "</pre>";
 //--------------------------------------
 header('Location: login.php');
}
?>


Merci de votre aides.


A voir également:

1 réponse

Anth0x Messages postés 2736 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 20 avril 2016 965
7 janv. 2015 à 09:56
Salut,

De ce que je vois il n'y a aucun moyen de savoir qui est Admin puisque ta requête sql dans le session ne va chercher que le login et le pass.

Tu as donc deux solutions simple :

- Tu laisse comme ça et tu fais une whitelist, c'est à dire que tu n'autorise que certain nom d'utilisateur pour avoir accès à ton indexA.php

- Tu rajoute un champ dans ta table_utilisateur, un boolean (0 = membre, 1 = admin), par exemple ^^
1
Zedrof Messages postés 156 Date d'inscription mercredi 27 août 2014 Statut Membre Dernière intervention 9 juin 2022 1
7 janv. 2015 à 12:44
Vraiment j'ai tentez j n'ai pas pu
0