Comment créer Login Page en PHP / MySQL








Ceci est le tutoriel sur la façon de créer une page de connexion en utilisant PHP et MySQL - également html et css.

Les fonctionnalités de cette page contiennent:

la validation d'entrée en utilisant session PHP.
Une caractéristique unique aussi avec mon page de connexion est la fonction de déconnexion, elle est unique parce que, contrairement à d'autres page de connexion lorsque l'utilisateur clique sur le bouton de déconnexion et cliquez sur le bouton retour du navigateur, leur système permet à l'utilisateur de revenir comme si il est encore connecté, qui ne convient pas pour des raisons de sécurité. Mais ici, dans cette page de connexion lorsque l'utilisateur clique sur le bouton de déconnexion, l'utilisateur ne peut plus revenir à leur page précédente. La seule façon de revenir à la page précédente est de vous connecter à nouveau.



Pour commencer ce tutoriel nous allons suivre quelques étapes ci-dessous.


Création de votre base de données


Premièrement, nous allons créer notre base de données qui stocke nos données.
Pour créer une base de données:
1. Ouvrez phpmyadmin
2. Cliquez sur create table et nommez-le.
3. nom, puis la base de données "loginpage".

4. Après la création d'un nom de base de données, cliquez sur le SQL et collez le code suivant.


1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE IF NOT EXISTS `member` (
  `mem_id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(30) NOT NULL,
  `password` varchar(30) NOT NULL,
  `fname` varchar(30) NOT NULL,
  `lname` varchar(30) NOT NULL,
  `address` varchar(100) NOT NULL,
  `contact` varchar(30) NOT NULL,
  `picture` varchar(100) NOT NULL,
  `gender` varchar(10) NOT NULL,
  PRIMARY KEY (`mem_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

Création de formulaire


La prochaine étape est de créer un formulaire et l'enregistrer comme index.php. Pour créer un formulaire, ouvrez votre éditeur de code HTML et collez le code ci-dessous dans la partie supérieure du document ou au-dessus de la balise html. Le code ci-dessous est d'utiliser pour interdire à l'utilisateur de revenir en arrière comme si elle reste connecté.
1
2
3
4
5
6
7
8
<?php
    //Start session
    session_start();   
    //Unset the variables stored in session
    unset($_SESSION['SESS_MEMBER_ID']);
    unset($_SESSION['SESS_FIRST_NAME']);
    unset($_SESSION['SESS_LAST_NAME']);
?>
Collez le code ci-dessous après la balise de corps du document HTML
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
<form name="loginform" action="login_exec.php" method="post">
<table width="309" border="0" align="center" cellpadding="2" cellspacing="5">
  <tr>
    <td colspan="2">
        <!--the code bellow is used to display the message of the input validation-->
         <?php
            if( isset($_SESSION['ERRMSG_ARR']) && is_array($_SESSION['ERRMSG_ARR']) && count($_SESSION['ERRMSG_ARR']) >0 ) {
            echo '<ul class="err">';
            foreach($_SESSION['ERRMSG_ARR'] as $msg) {
                echo '<li>',$msg,'</li>';
                }
            echo '</ul>';
            unset($_SESSION['ERRMSG_ARR']);
            }
        ?>
    </td>
  </tr>
  <tr>
    <td width="116"><div align="right">Username</div></td>
    <td width="177"><input name="username" type="text" /></td>
  </tr>
  <tr>
    <td><div align="right">Password</div></td>
    <td><input name="password" type="text" /></td>
  </tr>
  <tr>
    <td><div align="right"></div></td>
    <td><input name="" type="submit" value="login" /></td>
  </tr>
</table>
</form>

 

Créer notre Connexion


La prochaine étape est de créer une connexion de base de données et l'enregistrer comme "connection.php". Ce fichier est utilisé pour connecter votre formulaire a la base de données.
1
2
3
4
5
6
7
8
9
<?php
$mysql_hostname = "localhost";
$mysql_user = "root";
$mysql_password = "";
$mysql_database = "loginpage";
$prefix = "";
$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database");
mysql_select_db($mysql_database, $bd) or die("Could not select database");
?>


                                          Rédaction de script de connexion

La prochaine étape est de créer notre script de connexion qui valide nos données d'entrée et l'enregistrer comme login_exec.php.


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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
    //Start session
    session_start();
  
    //Include database connection details
    require_once('connection.php');
  
    //Array to store validation errors
    $errmsg_arr = array();
  
    //Validation error flag
    $errflag = false;
  
    //Function to sanitize values received from the form. Prevents SQL injection
    function clean($str) {
        $str = @trim($str);
        if(get_magic_quotes_gpc()) {
            $str = stripslashes($str);
        }
        return mysql_real_escape_string($str);
    }
  
    //Sanitize the POST values
    $username = clean($_POST['username']);
    $password = clean($_POST['password']);
  
    //Input Validations
    if($username == '') {
        $errmsg_arr[] = 'Username missing';
        $errflag = true;
    }
    if($password == '') {
        $errmsg_arr[] = 'Password missing';
        $errflag = true;
    }
  
    //If there are input validations, redirect back to the login form
    if($errflag) {
        $_SESSION['ERRMSG_ARR'] = $errmsg_arr;
        session_write_close();
        header("location: index.php");
        exit();
    }
  
    //Create query
    $qry="SELECT * FROM member WHERE username='$username' AND password='$password'";
    $result=mysql_query($qry);
  
    //Check whether the query was successful or not
    if($result) {
        if(mysql_num_rows($result) > 0) {
            //Login Successful
            session_regenerate_id();
            $member = mysql_fetch_assoc($result);
            $_SESSION['SESS_MEMBER_ID'] = $member['mem_id'];
            $_SESSION['SESS_FIRST_NAME'] = $member['username'];
            $_SESSION['SESS_LAST_NAME'] = $member['password'];
            session_write_close();
            header("location: home.php");
            exit();
        }else {
            //Login failed
            $errmsg_arr[] = 'user name and password not found';
            $errflag = true;
            if($errflag) {
                $_SESSION['ERRMSG_ARR'] = $errmsg_arr;
                session_write_close();
                header("location: index.php");
                exit();
            }
        }
    }else {
        die("Query failed");
    }
?>

Création du fichier d'authentification


La prochaine étape est de créer notre fichier d'authentification et l'enregistrer comme auth.php. ce code est utiliser pour interdire à l'utilisateur de revenir en arrière comme si il reste connecté.



1
2
3
4
5
6
7
8
9
<?php
    //Start session
    session_start();
    //Check whether the session variable SESS_MEMBER_ID is present or not
    if(!isset($_SESSION['SESS_MEMBER_ID']) || (trim($_SESSION['SESS_MEMBER_ID']) == '')) {
        header("location: index.php");
        exit();
    }
?>



                                                Création de la page d'accueil

La prochaine étape est de créer une page d'accueil et l'enregistrer comme home.php.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
    require_once('auth.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style1 {
    font-size: 36px;
    font-weight: bold;
}
-->
</style>
</head>
  
<body>
<p align="center" class="style1">Login successfully </p>
<p align="center">This page is the home, you can put some stuff here......</p>
<p align="center"><a href="index.php">logout</a></p>
</body>
</html>



Voilà tout ce que vous avez déjà créé votre page de connexion avec des caractéristiques uniques.
Espérons que ce code va vous aider, a la prochaine tutoriel.

Share on Google Plus

About mbarki chadi

Chef de projet Web/Cloud SS, Fondateur DCI Websolutions (Agence de développement Web,Applicatif et Mobile).
Sous Traiter vos projets Web | Devenir partenaire DCI et réduisez vos coûts et délais
    Blogger Comment
    Facebook Comment

0 commentaires:

Enregistrer un commentaire