POO en PHP (Hors-série) - Authentification via l'objet PDO
ฝัง
- เผยแพร่เมื่อ 8 ก.พ. 2025
- Nous allons créer une mini-application qui permet l'inscription et l'authentification des utilisateurs avec PHP. Leurs données personnelles seront stockées dans une base de données MySQL que l'on va interroger à l'aide de l'objet PDO. Nous allons aussi recourir aux variables de session, le hachage des mots de passe et les redirections.
Lien de téléchargement des codes sources et dump SQL: www.chiny.me/y...
Pour plus de cours, rendez-vous sur chiny.me
Explication clair et limpide. Je vous dit un grand merci M. Mohamed Chiny
De rien. Je suis ravi que le cours vous ait plu. Merci pour votre commentaire :)
Merci beaucoup cher professeur, je tiens aussi à te remercier pour tout ce que vous faites, tout ce que je sais aujourd'hui c'est grâce à vous !!!
De rien Paul. Je suis content que mes vidéos puissent vous être utiles. Merci pour votre commentaire :)
Merci Mr Ching pour ces vidéos qui me sont très utiles pour ma compréhension du fonctionnement de PDO,
Vous êtes très pédagogue et très clair dans vos explications
De rien Merven. Je suis ravi que mon cours vous ait plu. Merci pour votre commentaire :)
C'est toujours un vrai plaisir de suivre tes cours ...clairs et concis ..merci beaucoup Mohamed. prends soin de toi !!!
De rien. Merci beaucoup pour votre commentaire :)
Un grand merci pour ces précieux tutoriels bon courage pour la suite
De rien. Merci pour vos encouragements :)
Mr bien Mr Chiny
Merci Ssi Jamal :)
Merci pour ces vidéos,j'adore vos explications
Merci beaucoup pour votre commentaire :)
MERCI MONSIEUR. ça m'a beaucoup aidé!
De rien Ambroise. Bonne continuation :)
grand merci ssi Mohamed grand bravoooo
Merci à vous :)
bonjour et merci pour l'ensemble de votre travail, c'est très intéressant, si toutefois vous pouviez nous partagé le fonctionnement du MVC avec php/mysql ça serait top, à bientôt !
Normalement des tutos sur le MVC sont prévus, mais je ne sais pas quand est ce que j'aurai l'occasion de travailler dessus. Merci pour votre commentaire :)
Merci Chiny
De rien. Merci pour votre commentaire :)
Bonjour,
Bravo pour vos explications c'est très bien faits,
Svp pourriez vous me renseigner la vidéo dont vous avez parlé sur 0:21 l authentification stocké en txt
Bonjour. Je suis content que ma vidéo vous ait plu. Voilà la vidéo que j'ai mentionnée: th-cam.com/video/z4xgolJKBJo/w-d-xo.html Merci pour votre commentaire :)
@@MohamedChiny mercii
Merci beaucoup prof
De rien :)
Merci bien cher prof
De rien :)
Je tiens à vous remercier monsieur pour vos efforts. Svp pourquoi choisir la ligne 0 du tableau associatif lorsqu'on voudrait enregistrer le nom et le prénom dans la variable $_SESSION, est-ce que ça nous rendra pas toujours le nom et prénom de la ligne 0 quel que soit l'utilisateur inscrit ? Et merci encore une fois.
De rien. Je suis content que mes tutos vous plaisent. Pour votre question, la requête SQL passée via la méthode prepare() retourne toujours une seule ligne. C'est la ligne qui correspond à l'utilisateur qui s'authentifie. Donc on doit spécifier l'indice 0 pour accéder à ses informations. Vous avez constaté l'expression 'limit 1' à la fin de la requête? C'est ce qui permet de retourner un seul résultat dont l'indice vaut automatiquement 0. J'espère que c'est un peu plus claire maintenant. Merci pour votre commentaire :)
j'ai voulu ajouter une taille minimum pour le mot de passe : "if(str($_POST['pass']) < 8) $erreur="Mots de passe doit contenir au moins 8 caractères";
Mais ça rend mon document illisible, aucune idée pourquoi
La fonction qui vérifie la longueur d'une chaine est strlen() et non pas str(). Donc, à la place de if(empty($pass)) mettez if(strlen($pass)
merci ça me permet de mieux gérer le login de mon site. Mais j'ai une question par rapport à l'affichage du mot de passe dans la base de données. Comment vous avez fait le hashage?
C'est à l'aide de la fonction md5(), cette fonction est présente en PHP et aussi en SQL. Elle implémente l'algorithme de hachage MD5 qui génère un mot de 16 octets (32 caractères hexa).
J'ai déjà traité cette fonction dans la vidéo des chaines des caractères et aussi la vidéo d'authentification statique ou via fichier texte.
@@MohamedChiny merci Prof après l'authentification je veux priver certains utilisateurs de voir certaines pages. j'ai besoin d'aide
@@ngatiamoronou2896 Il s'agit là de gestion de privillèges. Personnellement je gère ça en donnant un numéro à chacune des pages à protéger. Par exemple la page 'voirMagasins.php' je lui donne le numéro 20, la page 'supprimerMagasin.php' je lui donne 21... Dans la table consacrée au utilisateurs dans la base de données j'ajoute un champ 'droits' où je place les numéros que l'utilisateur peut voir sous la forme '21_22_34_59_44...' Dans ce cas, une fois l'utilisateur se connecte quand il se rend dans une page je vérifie si le numéro de celle-ci figure dans le champs 'droits' pour lui permettre (ou non) de s'y rendre.
Comment as tu fais pour ouvrir la base de données sur le navigateur ?
Via l'outil PHPMyAdmin (si vous utilisez MySQL ou MariaDB). Sinon y a plein d'autre interfaces qui permettent de gérer une base de données sur le navigateur.
Bonjour cher Chiny, j'ai été très ravie de regarder votre tutoriel. Cependant, j'aimerais savoir en quoi consiste les @ dans la déclaration des variables. C'est-à-dire le rôle qu'ils jouent dans le code. Merci de me revenir. Cordialement @Franco vivi
Je suis content que mes tutos vous plaisent autant. Concernant @, il permet de masquer les notifications éventuelles comme le fameux message "Undefined Index". En gros, quelque soit le message d'erreur que le PHP affiche (que ce soit une notification ou erreur stricte) l'@ la masque automatiquement. Il ne s'agit pas de la meilleure façon de gérer les erreurs, mais pour les débutants c'est parfois utile. Merci pour votre commentaire :)
Monsieur Mohamed merci de nous faire un video sur la validation des formulaires en php et merci d'avance
J'ai déjà traité le contrôle de saisie dans certaines vidéos dont celle-ci th-cam.com/video/z4xgolJKBJo/w-d-xo.html
En attendant que je fasse une vidéo sur le contrôle de saisie à l'aide d'une classe.
@@MohamedChiny D accord je vais le voir votre chane tres riche et recommande par des amis merci bien a toi
grand merci c'est génial mais je voudrais savoir a quand le système authentification en POO avec les classes?
De rien. Pour le développement de classes ça sera pour une vidéo à part. Je veux pas tout faire sur la même vidéo car ça sera trop long. Donc ça viendra :)
Merci pour les vidéos
J'ai pas compris la fonction fetchall ::..
fetchAll() récupère la table entière (dans le cas de select * from table par exemple). Donc on se retrouvera avec une variable de type tableau à deux dimensions: les lignes et le colones. Donc si on met $tab=PDOStatement::fetchAll(), alors $tab a deux dimensions et peut être manipulée ainsi $tab[ligne][colone]. Pour la colone on peut mettre le nom de l'attribut dans le cas d'un retour associatif (comme expliqué sur la vidéo).
Pour quoi tab[0] ? j'ai des error dans le fichier export.php 😢
Dans quel fichier PHP?