IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Accès restreints à une page


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Par défaut Accès restreints à une page
    Bonjour,

    J'ai une page ou j affiche des coordonnées, sous forme de num de tel, de fax,.. et j'ai des utilisateurs, quelques uns peuvent avoir access a tous les num, quelques uns seulement 2 a 3 num, je veux une idee pour faire ca svp.

    Merci

  2. #2
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    tu crees une table
    user avec une colonne intitulé
    AccessLevel qui aura pour valeur :

    1 - veux dire que l´utilisateur pourra tout voir
    2 - peut voir certains
    et dans la table qui contient les numeros de faxe et autres, tu ajoutes une colonne intitulé numAccess dans laquelle tu rempliras avec 1 ou 2.
    le reste tu le fais avec le select.

    ce n´est qu´une approche.

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Par défaut
    j ai mis la table utilisateurs comme suite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    CREATE TABLE IF NOT EXISTS `users` (
      `id_users` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `nom` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
      `prenom` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
      `username` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
      `passwd` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
      `level` tinyint(1) NOT NULL DEFAULT '0',
    ..
    level: est le niveau d access des utilisateurs

    et la table pr les num ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    CREATE TABLE IF NOT EXISTS `porte_feuille` (
      `id_porte_feuille` int(5) NOT NULL AUTO_INCREMENT,
      `nom_porte_feuille` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
      `prenom_porte_feuille` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
      `telfix_porte_feuille` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
      `fax_porte_feuille` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
      `adresse_porte_feuille` text COLLATE utf8_unicode_ci NOT NULL,
      `access_porte_feuille` varchar(30) COLLATE utf8_unicode_ci NOT NULL DEFAULT '1',
    ..
    access_porte_feuille: c'est la ou je dois preciser est ce que l utilisateur aura besoin aux infos de cette personne ou non, comme defaut 1, ca veut dire oui, il aura access, alors comment faire ma requete pour lier l utilisateur avec son level aux donnees du client

  4. #4
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    pourquoi tu mets 'access_porte_feuille' en varchar et level en tinyint. les deux doivent avoir le meme type

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Par défaut
    Citation Envoyé par jeffray03 Voir le message
    pourquoi tu mets 'access_porte_feuille' en varchar et level en tinyint. les deux doivent avoir le meme type
    desole, ce n est juste des modifications, je l ai mis en TINYINT avec default 1

  6. #6
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    tu peux le selectionner comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = " Select nom_porte_feuille, prenom_porte_feuille, telfix_porte_feuille, .. from porte_feuille where access_porte_feuille = (select level from users where nom = '".$le_nom_de_la_personne."')";
    le nom de la personne peut venir du formulaire par $_GET ou $_POST, cela depend de comment tu fais pour savoir qui veut lister le porte_feuille.

Discussions similaires

  1. [HTML 4.0] Accès restreint à une page
    Par jlb59 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 12/11/2009, 12h15
  2. sessions : securiser l'acces a une page web
    Par kam81 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 25/11/2006, 14h26
  3. Réponses: 1
    Dernier message: 20/09/2006, 00h29
  4. Accés a une page HTTPS
    Par vins25 dans le forum Apache
    Réponses: 4
    Dernier message: 02/02/2006, 13h19
  5. Réponses: 5
    Dernier message: 09/01/2006, 11h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo