Bonjour,
1/ pour commencer, il faudrait que tu nous expliques clairement à QUI va servir ce code
Envoyé par
bertrantitude
...il faut impérativement passer par un formulaire de connexion...
Tu parles de QUI ?
- un administrateur du site (Panel d'administration, réservé au(x) seul(s) administrateur(s)) ?
- un "membre" (ou "patient") ?
Je pars du principe qu'il s'agit d'un administrateur (en effet, les membres ne sont pas censés lister les autres membres, encore moins avoir la possibilité de les supprimer !)
Donc, à priori, il n'a pas spécialement intérêt à faire n'importe quoi sur "son" site
2/ La requête de suppression
"DELETE FROM patient WHERE nom = :nom"
J'attire ton attention sur le fait que, si PLUSIEURS "patients" ont le MEME "nom", ils seront TOUS supprimés !!
Donc, ça craint.
Dans la table, chaque "patient" est enregistré avec un id, auto-incrémenté, et donc UNIQUE.
C'est cet id qu'il faut utiliser systématiquement, pour identifier LA ligne à supprimer (ou modifier,...)
"DELETE FROM patient WHERE id = :id"
3/ La connexion
Au moment de la connexion (traitement du formulaire de connexion, on vérifie les parmètres,.....) :
-> tu enregistres dans des variables de SESSION : l'id, le nom (ou pseudo), le privilège
1 2 3 4 5 6 7 8
| <?php session_start(); // (EN DEBUT DE CODE)
// traitement du formulaire de connexion...
// si paramètres OK : on enregistre certaines données en SESSION
$_SESSION['user']['id'] = $user['id'];
$_SESSION['user']['nom'] = $user['nom'];
$_SESSION['user']['privilege'] = $user['privilege'];
// S'il n'est pas encore connecté, ou erreur de paramètres, on vide :
unset($_SESSION['user']); |
Attention : on ne met JAMAIS un mot de passe en SESSION !
Ni AUCUNE DONNEE "SENSIBLE"...
4/ Pour les pages "à protéger" (= accessibles uniquement si user connecté), on vérifie au début que $_SESSION['user']['id'] n'est pas vide.
Exemple de code :
1 2 3 4 5 6
| <?php session_start(); // (EN DEBUT DE CODE)
if( empty($_SESSION['user']['id']) || !is_numeric($_SESSION['user']['id']) )
{
header('location:formulaire-connexion.php'); // si pas connecté, on redirige vers le formulaire d'authentification
}
// sinon, on peut continuer (user connecté) |
5/ L'histoire des "privilèges"...
$_SESSION['user']['privilege'] peut servir ensuite, si :
- tu as plusieurs administrateurs
- et qu'ils n'ont pas tous le droit de tout faire (ex. : gérer les articles, gérer les membres,...)
Partager