Bonjour,
Etant débutant en POO, j'aimerais avoir votre avis sur le code suivant afin de savoir je peux / dois l'améliorer. Je sors du procédural donc soyez indulgent
Je crée un login / pass où je scinde la partie php et Html (2 fichiers).
Je ne poste que ce que je dois montrer.
La partie html rien de bien sorcier
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <form action="index.php" name="loginform" method="post"> <input type="text" name="login"> <input type="password" name="password"> <input type="submit" name="login_submit" value="Se connecter"> </form>
Ma classe de login, logout et pass perdu.
J'instance l'objet aussi dans le fichier html
Merci d'avance
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 class Auth{ protected $login; protected $password; protected $email; public function login(){ $sql = new Request(); if(isset($_POST['login_submit'])){ if(!empty($_POST['login']) && !empty($_POST['password'])){ $this->login = $_POST['login']; $this->password = sha1($_POST['password']); $sql->query('SELECT * FROM users WHERE u_login = :login AND u_password = :password'); $sql->bind(':login',$this->login); $sql->bind(':password',$this->password); $row = $sql->single(); $count = $sql->rowCount(); if($sql->rowCount() > 0){ $_SESSION['back_office'] = array( 'login' => $row->u_login, 'level' => $row->u_id_level ); echo '<pre>'; echo 'result : '.$count.'<br>'; print_r($_POST); print_r($_SESSION); echo '</pre>'; }else{ Message::ShowError(ERR_ACCOUNT_NOT_FOUND); } }else{ Message::ShowError(ERR_ALL_FIELDS); } } } public function logout(){ $_SESSION = array(); session_unset(); session_destroy(); header('Location: login'); } }
Partager