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');
        }