[POO] premier script en POO
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:
Code:
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...
}
}
}
} |
Dans un autre fichier, on créée un nouvel objet Mysql pour rediriger l'utilisateur (en fin, je crois)
Code:
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";
} |
Donc, si $ensure_credentials contient bien une réponse, donc true je suppose, je redirige l'utilisateur. C'est bien ça ?
merci,