bonjour à tous,
je travail sur une application ou j'ai prevu une page de connexion ou l'on s'identifie avec un indifiant et un mot de passe; ensuite en fonction de son groupe d'utilisateur on a acces à une interface particuliere. mon soucis est de proteger ces differentes de telle sorte qu'on ne puissent pas y acceder sans s'etre identifier, par exemple en tapant l'url de la page. j'utilise les sessions donc pour le faire. apres saisie de l'identifiant, du mot de passe et validation la methode action du formulaire execute la page 'menu.php' donc voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 
 
<!-- page du menu de l'application de gestion  -->
 
<?php
session_start();
// recupere les saisies du formulaire de connexion
$id=$_POST['id'];
$pwd=$_POST['pwd'];
 
// on verifi si l'utilisateur à saisit son identifiant et son mot de passe
if(empty($_POST['id']) && empty($_POST['pwd']) )
  {
   echo ("saisissez un loggin et un mot de passe");
  }
else
{  
// on indique le fichiers qui contient toutes les fonctions qui vont etre utilisees 
  include_once('mes_fonctions.php'); 
// connexion a la base de données  
  connection_bd(projetcourier);
  $requette= "select * from UTILISATEURS where identifiant='$id' and motdepasse='$pwd' ";
  $donnees=requette_sql($requette);
  $ligne1=mysql_fetch_array($donnees);
  deconnection_bd();
 
  if (!$ligne1) 
   {
     echo (" identifiant ou mot de passe incorrect");
   }
  else
  {
// conserve l'identifiant et le motdepasse de l'utilisateur pour le teste d'acces des differentes vues
 
  $_SESSION['login']=$ligne1['indentifiant'];
  $_SESSION['password']=$ligne1['motdepasse'];
 
//recupere le groupe de l'utilisateur  
  $id_groupe=$ligne1['id_groupe'];
 
    switch($id_groupe)
	 {
	  case 6: header("location:vue5.php");break;// interface service admin et finan.
	  case 5: header("location:vue4.php");break;// interface service des operations
	  case 4: header("location:vue3.php");break;// interface enlevement et livraison
	  case 3: header("location:vue2.php");break;// inteface arrivee-depart
	  case 2: header("location:vue1.php");break;// interface receptionniste
	  case 1: header("location:vue6.php");break;// interface administrateur
      break;
	 }
  }
}  
  ?>
voici le code d'une interface dont je souhaite proteger l'acces, par exemple 'vue1.php' et pratiquement le mm pour toute les autres interfaces:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
<!-- interface receptionniste -->
<?php
session_start();
 
if (!isset($_SESSION['login']) && !isset($_SESSION['password']) )
  {
   header("Location:index.php");
   exit();
  }	
else
  {  
//  ini_set('include_path','C:\Program Files\wamp\www\Projet courier\inc');
?>
 
  <div id="menu_header">
    <?php 
      include ("menu_header.php");
    ?>
  </div>
 
<div id="conteneur" >
 
  <div id="vue1_menu">
    <?php  
      include ("vue1_menu.php");
	?>
  </div>
 
  <div id="menu_contenu">
   <?php  
      include ("vue1_contenu.php");
	?>
  </div>
 
</div>
 
  <div id="menu_footer">
   <?php  
      include ("footer.php");
   ?>
  </div>
 
<?php 
}
?>
mon probleme est le suivant: la protection ne marche que apres avoir redemare ma machine et quand je n'ai pas encore eu a me connecte avec un indentifiant et un mot de passe correcte. des que je me suis deja connecte une fois ,, la protection des pages ne fonctionne plus , on peut les ouvrir simplemnt en saisissant l'url a partir du navigateur, ce que je veux controler .

ou est le probleme ?

merci pour vos reponses et exemple ...