Bonjour,
En essayant de me mettre à la POO, j'ai commencé à consulter la documentation mais aussi un tutoriel trouvé sur un autre site. Il s'agit d'un système de login avec redirection écrit sur le même principe. Bien que je pense avoir compris la teneur du code, il en subsiste néanmoins une ou deux zones d'ombres. Un premier fichier de connexion à la base et une requête. Mais je ne suis pas sûr d'en avoir compris correctement la fin:
Dans un autre fichier, on créée un nouvel objet Mysql pour rediriger l'utilisateur (en fin, je crois)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 class Mysql { private $conn; //fonction servant à se connecter à la base. function __construct() { ... } //Fonction servant à chercher le nom et password transmis par le user dans la table function verify_Username_and_Pass($un, $pwd) { //requête $query = "SELECT * FROM users WHERE username = ? AND password = ? LIMIT 1"; //Méthode type PDO if($stmt = $this->conn->prepare($query)) { $stmt->bind_param('ss', $un, $pwd); $stmt->execute(); if($stmt->fetch()) { //--> si $stmt récupère des données... $stmt->close(); //--> fermeture de $stmt, mais pourquoi ? return true; //--> je renvoie true... } } } }
Donc, si $ensure_credentials contient bien une réponse, donc true je suppose, je redirige l'utilisateur. C'est bien ça ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 class Membership { //fonction de validation function validate_user($un, $pwd) { //instanciation de la classe mysql et création de l'objet '$mysql' $mysql = New Mysql(); //Récupération de la réponse de la fonction verify_Username_and_Pass $ensure_credentials = $mysql->verify_Username_and_Pass($un, md5($pwd)); //Si $ensure_credentials contient une réponse if($ensure_credentials) { $_SESSION['status'] = 'authorized'; header("location: index.php"); } else return "Please enter a correct username and password"; }
merci,
Partager