Bonjour,
Je suis débutant en php, j'ai réalisé un script de section membre, ce code fonctionne correctement cependant j'aimerais le rendre plus claire en utilisant une class avec deux fonctions, une fonction pour le login et une autre pour la gestion d'erreurs. Après plusieurs essais, les résultats ne pas concluant!
Si une personne plus experte pouvait m'aider à résoudre ce problème, je le remercie 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
45
46
47
48
49
50
51
52
53 <?php //PDO Database Connection try { $databaseConnection = new PDO('mysql:host=' . _HOST_NAME_ . ';dbname=' . _DATABASE_NAME_, _USER_NAME_, _DB_PASSWORD); $databaseConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo 'ERROR: ' . $e->getMessage(); } if (isset($_POST['submit'])) { $errMsg = ''; //username and password sent from Form $username = trim($_POST['username']); $password = trim($_POST['password']); if ($username == '' and $password != '' ) { $errMsg .= 'Your Username is required<br>'; } if ($password == '' and $username != '') { $errMsg .= 'Your Password is required<br>'; } if ($username == '' and $password == ''){ $errMsg .= 'Your username and Password are required<br>'; } $username = addslashes($username); $password = sha1($password); if ($errMsg == '') { $records = $databaseConnection->prepare ('SELECT id,username,password FROM tbl_users WHERE username = :username AND password = :password'); $records->bindParam(':username', $username); $records->bindParam(':password', $password); $records->execute(); $count = $records->rowCount(); if ($count > 0) { $_SESSION['Auth'] = array( 'username' => $username, 'password' => $password ); } else { $errMsg .= 'Mauvais identifiant<br>'; } } } if (isset ($_SESSION['Auth'])) { header('location: pagesecurisee.php'); }
Partager