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

Langage PHP Discussion :

Connexion/Authentification de plusieurs utilisateurs


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 23
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2020
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Connexion/Authentification de plusieurs utilisateurs
    Bonjour à tous !

    Alors je vous explique, je suis en train de développer un petit site web qui servira à gérer des agendas de salle. Pour se faire, nous avons besoins de plusieurs utilisateurs qui devront être redirigés sur la page qui leurs est destiné à l'aide d'une connexion/authentification. J'ai pas mal cherché sur internet et j'arrive à rediriger un utilisateur sur une page ce n'est pas le soucis, le vrai soucis c'est que lorsqu’un utilisateur se connecte il doit être reconnu et donc redirigé sur la page où il y aura son agenda d'affiché. Et je ne sais pas comment les différencier et dire par exemple : "si user1 se connecte avec le bon profil et le bon mdp tu vas sur page 1 sinon erreur utilisateur ou mdp, si user2 se connecte avec le bon profil et le bon mdp tu vas sur page2 etc.... "

    J'espère que je suis assez claire, si vous pouviez me donner un petit coup de pouce ce ne serait pas de refus, merci d'avance !

    Bonne journée à tous

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 267
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 267
    Points : 8 565
    Points
    8 565
    Billets dans le blog
    17
    Par défaut
    Il faut une page agenda.php qui accepte en argument un identifiant "user"
    Ensuite il suffit à la page agenda.php d'afficher l'agenda de l'utilisateur $_GET['user']

    Exemple de base de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    users
    -------------
    user_id
    user_login
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    agendas
    -------------
    agenda_id
    ...
    agenda_user # Propriétaire de l'agenda, clef vers users.user_id
    agenda.php sera appelé de la sorte :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <a href="agenda.php?user=123">Afficher l'agenda de l'utilisateur No 123</a>
    <a href="agenda.php?user=234">Afficher l'agenda de l'utilisateur No 234</a>
    ...

    Ou avec une redirection après connexion :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Location: agenda.php?user=123');
    Et récupérera l'agenda de l'utilisateur avec une requête de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    ...
    $sql = "SELECT ALL ... FROM agendas WHERE agenda_user = {$_GET['user']}";
    ...

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 23
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2020
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Whoa, merci beaucoup pour ta réponse rapide et précise !


    Effectivement je n'ai pas du tout fait comme ça. J'ai réalisé une table "auth_agenda" avec "id", "profil", "mdp", "lien" (le lien qui contient l'agenda), "admin" (si il est admin il a accès à des paramètres en plus de voir son agenda).

    Du coup juste une petite question, est-ce que c'est possible de reconnaitre l'utilisateur qui se connecte puis le rediriger sur sa page avec la table que j'ai réalisé ou ce n'est pas possible et je dois m'appuyer sur ton exemple ? (Dans tous les cas je vais essayer de faire ton exemple ^^)

    Merci d'avance !

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 267
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 267
    Points : 8 565
    Points
    8 565
    Billets dans le blog
    17
    Par défaut
    Du coup juste une petite question, est-ce que c'est possible de reconnaitre l'utilisateur qui se connecte puis le rediriger sur sa page avec la table que j'ai réalisé ou ce n'est pas possible et je dois m'appuyer sur ton exemple ? (Dans tous les cas je vais essayer de faire ton exemple ^^)
    A priori oui c'est possible à partir de ton champ "lien", mais un utilisateur n'aura qu'un seul et unique agenda alors qu'avec le modèle plus haut un utilisateur peut avoir de 0 à n agendas

    Que contient ton champ "lien" exactement ?

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 23
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2020
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    mmmmhhhh je vois, donc c'est pas très judicieux ce que j'ai fait....

    "Que contient ton champ "lien" exactement ? " (désolée, je ne sais pas comment reporter un message que quelqu'un d'autre à écrit ^^')
    Mon champ va contenir des url d'agenda outlook. Ces liens je les placerais dans des iframes pour qu'elles soient visibles pour les utilisateurs (comme ça chacun pourra voir son propre agenda).

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 267
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 267
    Points : 8 565
    Points
    8 565
    Billets dans le blog
    17
    Par défaut
    mmmmhhhh je vois, donc c'est pas très judicieux ce que j'ai fait....
    Tout dépend de ce que tu veux faire. Un utilisateur a-t-il forcément 1 seul agenda max ? Peut-il avoir 0 agenda ?

    Et puis tu as peut-être d'autres tables, non ? Comment sont gérés tes utilisateurs exactement ?

  7. #7
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 23
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2020
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Séb. Voir le message
    Tout dépend de ce que tu veux faire. Un utilisateur a-t-il forcément 1 seul agenda max ? Peut-il avoir 0 agenda ?

    Et puis tu as peut-être d'autres tables, non ? Comment sont gérés tes utilisateurs exactement ?
    Alors un utilisateur en fonction de ses droits a accès à 1 ou +1 agenda. Je voulais faire une table auth_agenda : "id", "profil", "mdp", "admin"
    agenda : "id", "lien"

    Sur mon site j'ai une page paramètre qui est seulement accessible via le profil admin et dans ces paramètres on peut modifier, supprimer ou ajouter un utilisateur. On pourra donc y modifier le lien de l'url dans ces paramètres. J'espère être assez claire ^^

  8. #8
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 267
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 267
    Points : 8 565
    Points
    8 565
    Billets dans le blog
    17
    Par défaut
    Pour le moment tu penses à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    auth_agenda
    ---------------
    id
    profil
    mdp
    admin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    agenda
    ---------------
    id
    lien

    auth_agenda, c'est la table de tes utilisateurs ?
    Que représente le champ auth_agenda.profil ?

    Puisqu'un utilisateur peut avoir plusieurs agendas, alors sur ta table agenda, il manque un champ qui référence l'utilisateur, un équivalent à agendas.user que j'ai donné en exemple plus haut.

  9. #9
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 23
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2020
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Séb. Voir le message
    Pour le moment tu penses à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    auth_agenda
    ---------------
    id
    profil
    mdp
    admin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    agenda
    ---------------
    id
    lien

    auth_agenda, c'est la table de tes utilisateurs ?
    Que représente le champ auth_agenda.profil ?
    Oui, auth_agenda correspond à la table de mes utilisateurs. auth_agenda.profil correspond au nom de l'utilisateur qui va se connecter. Pax exemple pour la table auth_agenda :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    auth_agenda
    ---------------
    id = 1
    profil = admin (ou ça peut être président, secrétaire etc...) 
    mdp = un mot de passe 
    admin =  Si l'utilisateur est admin alors il aura les droits d'accéder à la page de paramètre (booléan)
    Citation Envoyé par Séb. Voir le message
    Puisqu'un utilisateur peut avoir plusieurs agendas, alors sur ta table agenda, il manque un champ qui référence l'utilisateur, un équivalent à agendas.user que j'ai donné en exemple plus haut.
    D'accord je vois, donc il faudrait que je rajoute une ligne dans ma table agenda, du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    agenda
    ---------------
    id 
    agenda 
    auth_agenda.agenda
    C'est ça ?

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/09/2018, 11h24
  2. [Débutant] Peut-on avoir une même connexion sur une base mySql pour plusieurs utilisateurs ?
    Par RSS13 dans le forum Accès aux données
    Réponses: 5
    Dernier message: 16/12/2015, 11h04
  3. connexion avec plusieurs utilisateurs
    Par etudianti4 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 20/10/2008, 14h42
  4. Mysql - saisies et connexions à plusieurs utilisateurs
    Par tthuries dans le forum Requêtes
    Réponses: 4
    Dernier message: 04/09/2007, 23h52
  5. partager un schema entre plusieurs utilisateurs
    Par jrman dans le forum Oracle
    Réponses: 5
    Dernier message: 15/12/2004, 17h53

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