Utilisation des profil en php

Fermé
elhakima.debbouz Messages postés 1 Date d'inscription mercredi 9 mars 2016 Statut Membre Dernière intervention 9 mars 2016 - 9 mars 2016 à 11:33
 senju - 10 mars 2016 à 01:42
bonjour

comment peut on administrer une application développée en php, et donner les droit d'accée à plusieurs utilisateur avec des droit différent.

merci d'avance s'il y aura des réponses.
A voir également:

1 réponse

totodunet Messages postés 1377 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 5 mars 2020 199
9 mars 2016 à 23:44
Bonjour

Créer une base de données et gérer les utilisateurs et leurs droits d'accès dans cette base.
1
+1 PHP c'est la partie programme.
Il faut que la base de données contiennent des tables avec les informations nécessaires, par ex l'une des tables(une seule table ne sert pas à grand chose) peut ressembler à ça:

Table Utilisateur:
nom
prenom
pseudo
mot_de_passe
date_naissance
email
rang
...plus toutes les infos nécessaires qui appartiennent à l'utilisateur

Et dans la partie programme PHP on fait une requête à la base lors de la connexion (par le formulaire) qui après vérification que le pseudo existe et a bien le mot de passe qui lui est associé qui va renvoyer la 'ligne' du tableau de données de l'utilisateur donc ses droits(colonne 'rang' ici) au script PHP qui peut ensuite l'utiliser.

1_vérification identifiant+mot de passe
2_si c'est bon on enregistre les champs de l'utilisateur dont on a besoin.
Une ligne de données c'est les valeurs qu'auront les champs/colonnes de la table pour l'utilisateur concerné.
Il y a les variables sessions qui par exemple permettent de garder ça en mémoire(et ainsi de confirmer que l'utilisateur est bien connecté quand il change de page sans avoir à lui faire taper à nouveau son mot de passe ou utiliser un formulaire invisible dans la page qui fera la même chose). On peut enregistrer les informations utiles au programme dans la variable de session aussi, comme son pseudo (ou autre valeur identifiant: il ne peut avoir qu'un pseudo unique par utilisateur contrairement aux homonymes: 2 personnes peuvent s'appeler "Pierre Dupont" et ne seront pas la même personne mais un seul aura le droit d'avoir pour pseudo "Piquachoux") ainsi que stocker le rang de cet utilisateur(ou d'interroger la base pour le vérifier quand on en a besoin mais le programme sera plus rapide de quelques 10èmes de secondes si on ne multiplie pas les requêtes à la base de données inutilement).
3_PHP redirige l'utilisateur vers la page d'accueil de la partie privée du site(intranet)
4_Dans cette page le script PHP écrit(fonction echo 99% du boulot de PHP) le HTML correspondant au menus/fonctionnalités associées au rang de l'utilisateur
5_Pour plus de sécurité et éviter qu'un script externe soit utilisé on peut aussi vérifier le rang à nouveau lorsque le menu/fonctionnalité est utilisé.

ex: de script pour l'étape 4(bien sûr sommaire)

<body>
<h1>Bienvenu sur la page</h1>
<?php
/* j'ai supposé pour plus de clarté que les variables $pseudo et $rang_utilisateur sont récupérées préalablement de la base(nouvelle requête) ou de ces fameuses variables de sessions*/

echo '<p>bienvenu '.$pseudo.'</p>';

/*le test conditionnel "if" regarde si le rang correspond à la valeur texte 'administrateur'*/

if ($_rang_utilisateur=='administrateur'){
echo '<a href="administrer.php">administrer</a>';
/* on utilise la concaténation pour faire une chaîne de caractères en HTML(texte+variable+texte, l'opérateur de concaténisation est le point)*/
}
/*
Et ainsi de suite pour chaque droit/bouton de lien correspondant au rang de la personne identifié sur le site de façon graduelle(un rang de base = les fonctionnalités de base, un rang au dessus à les fonctionnalité de base plus d'autres, l'administrateur à toutes les fonctionnalités...*/
?>


En gros PHP n'a qu'un but écrire le HTML, le reste est fait par les requêtes à la base(langage SQL qui peuvent être envoyées par PHP et assure la sécurité de la base en faisant 'passerelle' entre HTML et SQL.

Il faudra bien sûr commencer par là:
https://www.commentcamarche.net/contents/655-merise-initiation-a-la-conception-de-systemes-d-information
0