Pages :
(reprise du message précédent)

Et 2 utilisateurs par exemple d'un même service, ne doivent pas être redirigé sur la même page ? Je ne suis pas sur de saisir la logique.
Si la redirection de ton utilisateur c'est pour le renvoyer vers une page de profil qui lui est propre, alors tu ne prends pas le problème comme il faut sinon, c'est bien un test sur le droit qui doit être fait.
Modifié par Raphi (26 Jun 2015 - 12:00)
Et quand le service finance tape son mdp sur la page login.php par exemple il sera diriger vers sa page finance pas sur la page du service etat civil par exemple, ta compris ?
Donc si je récapitule :
Tu as plusieurs membres qui font parti d'un même service.
Et en fonction de leur service ils ne doivent pas avoir accès aux mêmes informations sur l'outil que tu créée.

Donc si par exemple tu as les pages suivantes dans ton application :
admin.php
factures.php
tickets.php

Tu veux donc que les membres de tous les services puissent accéder à admin.php.
Par contre uniquement seuls les membres du service finance accèdent à factures.php
Et uniquement seuls les membres du service informatique accèdent à tickets.php
Les autres sont redirigés vers une page qui leur expliquent qu'ils n'ont pas les autorisations pour aller sur ces pages.

C'est bien ça ta problématique, on est d'accord ?
Oups tu as reposté entre temps.

Donc dans ta page login.php il faut remplacer ça :
			if($droit == "admin"){
			  echo " <br> Le temps des tests : Droit = ADMIN ";
		     header('Location:script.html');
		  }else{
			  echo " <br> Le temps des tests : Droit != ADMIN ";
			   header('Location:script.html');
			}

par :
if($droit == "admin"){
  header('Location:script.html');
  exit();
}else if($droit == "finance"){
  header('Location:finance.html');
  exit();
} else if($droit == "informatique") {
  header('Location:informatique.html');
  exit();
} else {
  header('Location:lapagequetuveux.html');
  exit();
}


C'est un exemple à adapter bien sur.
Enfet j'ai crée une table membres et j'ai rentré tous mes utilisateur dedans, tu pense que j'aurai du les rentré dans ma table admin ?
Oulah non pas du tout, il ne faut pas de tables admin (enfin je n'en vois pas l'utilité pour ce que tu me dis). Smiley smile
Il te faut une table "membres" et une table "service" (par exemple).
Et chaque membre fera parti d'un service.

Ensuite dans tes pages tu autorises l'accès si l'utilisateur en cours fait partit du ou des services autorisés à accéder à cette page.
Modifié par Raphi (26 Jun 2015 - 13:21)
Attends je vais crée la table service et je vais creer un code et tu me dis
Mais le code je le met independament tu code login.php c'est a dire sur une page differente ?
CREATE TABLE services
(
ACulturelle VARCHAR(100),
Budget VARCHAR(100),
Dsi VARCHAR(100),
ECivil VARCHAR(100),
Rhumaines VARCHAR(100),
Solidarite VARCHAR(100),
STechniques VARCHAR(100),
UPatrimoine VARCHAR(100),
)

Tu pense que c'est bon ou il faut un id ?
Et du coup dans quelle table je stock tout mes identifiants de mes membres ?
Dans la table membre ?
Modifié par Olivia1 (26 Jun 2015 - 13:57)
Je vais te décevoir, mais c'est pas du tout la bonne logique. Smiley langue
Il te faut 2 tables comme ceci :
SERVICE
- id
- name

MEMBRE
- id
- login
- mdp
- service_id

Dans ta table SERVICE, tu stockes tout tes services.
Et dans ta table membre, tu renseigne tout tes utilisateurs. Chaque utilisateur possédera un identifiant de service auquel il est rataché.

Par exemple :
L'utilisateur toto qui est au service informatique possèdera le service_id 5 qui correspond à l'identifiant du service Informatique (c'est un exemple).

Quel est ta méthode d'apprentissage du php / mysql ? Tu suis des cours pour ça ?
tu stockes le nom de ton service dans la colonne name.
Une table possède plusieurs enregistrement.
Un service = un enregistrement.

Par exemple :
id : 1
name : finance

id : 2
name : dsi

id : 3
name : rh

etc
Lâche le code et lis le cours, sinon tu ne va pas t'en sortir. Smiley smile
Il faut que tu comprennes au moins le fonctionnement de base avant d'attaquer la suite.
Tu verras les cours d'Openclassrooms sont très bien écrits. Smiley smile
Non mais c'est bon tout et parfait et maintenat je met le code que tu ma dit a la place dans ma page login.php.
Non parceque il me reste que ca finaliser pour aujourdhui car je dois leur rendre le portail apllicatif pour 16h30 Smiley bawling
Voici mon code que j'ai changer mais sa ne marche toujours pas


<?php
 /* ----------------------------------------------------------------*/
 //    ==>> PAGE LOGIN.PHP <<==
 //  => Comprenant : Le formulaire HTML + Le traitement en PHP
 /* ----------------------------------------------------------------*/
?>
<?php

//------------------------------------------------------------------//
 // DEMARRAGE DES SESSIONS
 //------------------------------------------------------------------//
  if(session_id() == '') {
    session_start();
  }

 // Connexion à la BDD ( on fait un INCLUDE du fichier connexion.php
 require_once("connexion.php");	
	
 //****************************************
 //   ----   Traitement du SUBMIT ----
 //****************************************
 
 //------------------------------------------------------------------//	
	// Récupération "propre" des variables POST !
	//------------------------------------------------------------------//
	 $login = !empty($_POST['login']) ? $_POST['login'] : NULL;
	 $pass = !empty($_POST['password']) ? $_POST['password'] : NULL;
	
  if($login && $pass){
	 // Requete de recherche d'une correspondance login/pass
    $sql =   "SELECT *
            FROM les_membres
            WHERE login=:leLogin 
            AND pass=:lePass ";
    $requete = $bdd->prepare($sql);
    $requete->bindParam(":leLogin",$login);
    $requete->bindParam(":lePass",$pass);
    $requete->execute();
    //on stocke le résultat dans un Array
    $array_Result = $requete->fetchall();
	//echo "<br> Login : ".$login;
	//echo "<br> Password : ".$pass;
	//print_r(  $array_Result );
	
	
	  $nbResult = $array_Result ? count($array_Result) : 0;
	  if($nbResult == 1 ){
	    $id_lien = $array_Result['id_liens'];
	  	$droit = $array_Result['droit'];
		  // on stocke en SESSION
		  $_SESSION['id']=$id_lien;
	    $_SESSION['droit']=$droit;
		
		  }else if($services == "1"){
				header('Location:ACulturelle.html');
		exit();
		//} else if($droit == "informatique") {
				//header('Location:informatique.html');
		//exit();
		//} else {
				//header('Location:lapagequetuveux.html');
		//exit();
		//}
			 
			 // Le temps des tests :
			 print_r($array_Result);
			 
			 
		}else{
		  $error[] = "<br>Erreur ! Il y a $nbResult résultats";
		}
		
  }else{
	  $error[] = "<br>Merci de remplir les champs: Login et Password.";
		
	}


?>

<!-- Formulaire HTML -->

<div align="center">
<form method="post" action="">

    <br> <legend>S'identifier</legend> </br>
      
    <div class="form-group">
      <label class="col-lg-2 control-label">Login</label>
      <div class="col-lg-10">
        <input type="text" class="form-control" name="login" Frenet="Login">
      </div>
    </div><br/><br/><br/>

    <div class="form-group">
      <label class="col-lg-2 control-label">Mot de passe</label>
      <div class="col-lg-10">
        <input type="password" class="form-control" name="password" olivia="Mot de passe">
      </div>
    </div>

<br/><br/><center><button type="submit" name="submit" class="btn btn-primary">Envoyer </button></center>
    <?php if(count($error)>0){
      foreach($error as $Err){
	  echo "<div class='alert alert-danger' role='alert'>".$Err."</div>";
	}
    }?>
</form>
	  
A mon avis tu n'as pas compris ce que tu as écrit... Smiley ohwell
}else if($services == "1"){
    header('Location:ACulturelle.html');
    exit();

$services, n'est déclaré nulle part.
Il faut que tu récupères l'identifiant du service auquel l'utilisateur appartient. Mais là tu ne le récupères pas.
Pages :