Login Remember bằng Php

Lúc này sau cảm thấy có hứng thú lại với lập trình web quá hi. ngứa tay quá! và muốn làm các bài viết để chia sẽ với mấy bạn nè!.

Hôm này mình sẽ chỉ và hướng dẫn các bạn tạo một Login đăng nhập Remember.

Cái này cũng khá là đơn giản, nếu bạn nào đã học php cơ bản rồi thì quá là đơn giản với bạn đó nè,

các bạn chỉ cần sử dụng session cookie trong Php thì bạn sẽ làm được đều này, Ở đây tôi sẽ đặt ra các trường hợp như sau:

TH1: Tôi sẽ đăng nhập và check vào ô Remember để lưu thông tin tài khoản của tôi lại. Ở đây tôi sẽ lưu những gì?

Tôi sẽ lưu tên tài khoản và mật khẩu của tôi vào cookie và session.

Khi tôi đăng nhập thành công thì tôi mới bắt đầu kiểm tra như sau:

+ Tôi thử xóa bỏ session xem còn thông báo đăng nhập thành công hay không, nếu mà bạn xóa bỏ session và quay lại trang đăng nhập dẫn hiện lên Form đăng nhập

là bạn chưa thành công!bởi vì khi tôi đăng nhập lần đầu tiên tôi đã check vào ô ghi nhớ tài khoản rồi, cho dù bạn xóa session thì tài khoản này dẫn còn nằm trong cookie.

Tôi sẽ cho cookie này sống trong 30 ngày(Tùy theo các bạn nhé).

+ Nếu như bạn xóa session xong và quay lại trang đăng nhập và tự động chuyển qua trang thông báo đăng nhập thành công thì các bạn đã làm được rồi nhé.

các bạn có thể đóng trình duyệt lại và tắt đi, sau đó các bạn mở trình duyệt lại và thử mở trang đăng nhập thử xem,nếu xuất hiện thông báo đăng nhập thành công là bạn đã làm được rồi.

TH2: trường hợp này tôi sẽ không check vào ô ghi nhớ tài khoản, nếu tôi đăng nhập thành công thì tôi sẽ lưu những gì nào? tôi sẽ kiểm tra xem bạn có check vào ô ghi nhớ tài khoản hay không,

nếu không có thì tôi chỉ lưu tên tài khoản và mật khẩu của bạn vào session thôi và khi bạn xóa session bỏ thì sẽ trở lại Form đăng nhập bình thường nhé

khi bạn đóng trình duyệt lại thi mở lên cũng sẽ mời bạn đăng nhập vì tài khoản không có lưu trong cookie nhé.

Trước hết các bạn nhớ rằng khi mở trang đăng nhập lên thì phải kiểm tra cookie trước tiên nhé,sau đó mới kiểm tra xem có đăng nhập chưa.

các bạn tạo file login_template.php và copy đoạn code sau vào:

<!DOCTYPE html>
<html>
  <head>
    <title>Login Remember</title>
    <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css" />
    <link rel="stylesheet" type="text/css" href="../css/style.css" />
  </head>

  <body>
    <div class="container">
      <div class="form">
        <form action="login_template.php" method="post">
          <h3 class="btn btn-primary form-control">Login Infomation</h3>

          <table class="table">
            <tr>
              <td><label class="label label-danger">Username</label></td>
              <td>
                <input
                  type="text"
                  class="form-control"
                  name="username"
                  value=""
                />
              </td>
            </tr>
            <tr>
              <td><label class="label label-danger">Password</label></td>

              <td>
                <input
                  type="password"
                  class="form-control"
                  name="password"
                  value=""
                />
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <div class="remember">
                  <input type="checkbox" name="remember" value="1" />

                  <label>Remember login</label>
                </div>
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <input
                  type="submit"
                  class="form-control btn-info submit_login"
                  value="Login"
                  name="submit"
                />
              </td>
            </tr>
          </table>
        </form>
      </div>
    </div>
    <script type="text/javascript" src="../js/bootstrap.min.js"></script>
  </body>
</html>

các bạn download getbootstrap về và include vào file trên nghe

các bạn tạo file config.php và copy code bên dưới vào nhé

<?php
    //cau hinh ket noi
    $db_localhost="localhost";
    $db_user="root";
    $db_pass="";
    $db_data="basic_php";
    $cookie_name = 'siteAuth';
    $cookie_time = (3600 * 24 * 30); // 30 days
    $dbconect=mysql_connect($db_localhost,$db_user,$db_pass) or die('ket noi khong thanh cong');
    mysql_select_db($db_data,$dbconect);
    mysql_query("set names 'utf8'");
?>

và tiếp theo là đoạn code php xử lý đăng nhập, các bạn copy và pass vào phía trên file login_template.php

hoặc tạo một file riêng rồi gửi dữ liêu qua trên đó xử lý cũng được nhé, ơ đây tôi sẽ làm trên một file

để cho mấy bản dễ hiểu và dễ nhìn thấy.

<?php
session_start();

include_once ('config.php');

//kiem tra cookie xem da tôn tai chua
//neu chua thi minh ha dang nhap;
if (empty($_SESSION['username']))
{

  if (isset($cookie_name))
  {

    if (isset($_COOKIE[$cookie_name]))
    {

      parse_str($_COOKIE[$cookie_name]);

      $sql2 = "select * from user where username='$usr' and password='$hash'";

      $result2 = mysql_query($sql2, $dbconect);

      if ($result2)
      {

        header('location:infomation.php');

        exit;

      }

    }

  }

}

else
{

  header('location:infomation.php'); //chuyển qua trang đăng nhập thành công
  exit;

}

if (isset($_POST['submit']))
{

  $username = $_POST['username'];

  $password = md5($_POST['password']);

  $a_check = ((isset($_POST['remember']) != 0) ? 1 : "");

  if ($username == "" || $password == "")
  {

    echo "vui long dien day du thong tin";

    exit;

  }

  else
  {

    $sql = "select * from user where username='$username' and password='$password'";

    echo $sql;

    $result = mysql_query($sql, $dbconect);

    if (!$result)
    {

      echo "loi cau truy van" . mysql_error();

      exit;

    }

    $row = mysql_fetch_array($result);

    $f_user = $row['username'];

    $f_pass = $row['password'];

    if ($f_user == $username && $f_pass == $password)
    {

      $_SESSION['username'] = $f_user;

      $_SESSION['password'] = $f_pass;

      if ($a_check == 1)
      {

        setcookie($cookie_name, 'usr=' . $f_user . '&hash=' . $f_pass, time() + $cookie_time);

      }

      header('location:infomation.php'); //chuyền qua trang đăng nhập thành công
      exit;

    }

  }

}
?>

Code css đễ chỉnh giao diện

<style>
.container{margin:0px auto;}
.form{width: 400px;margin:0px auto;margin-top: 100px;}
h3{font-family: serif;font-weight: bold;}
.remember{margin-left: 123px;}
</style>

Full Source

<?php

    session_start();

    include_once('config.php');

    //kiem tra cookid xem da tôn tai chua

    //neu chua thi minh ha dang nhap;

    if(empty($_SESSION['username'])){

        if(isset($cookie_name)){

            if(isset($_COOKIE[$cookie_name])){

                parse_str($_COOKIE[$cookie_name]);

                $sql2="select * from user where username='$usr' and password='$hash'";

                $result2=mysql_query($sql2,$dbconect);

                if($result2){

                    header('location:infomation.php');

                    exit;

                }

            }

        }

    }

    else{

        header('location:infomation.php');

        exit;

    }    


    if(isset($_POST['submit'])){

        

        $username=$_POST['username'];

        $password=md5($_POST['password']);

        $a_check=((isset($_POST['remember'])!=0)?1:"");

        if($username=="" || $password==""){

            echo "vui long dien day du thong tin";

            exit;

        }

        else{

            $sql="select * from user where username='$username' and password='$password'";

            echo $sql;

            $result=mysql_query($sql,$dbconect);

            if(!$result){

                echo "loi cau truy van".mysql_error();

                exit;

            }

            $row=mysql_fetch_array($result);

            $f_user=$row['username'];

            $f_pass=$row['password'];

            if($f_user==$username && $f_pass==$password){

                $_SESSION['username']=$f_user;

                $_SESSION['password']=$f_pass;

                if($a_check==1){

                    setcookie ($cookie_name, 'usr='.$f_user.'&hash='.$f_pass, time() + $cookie_time);

                }

                header('location:infomation.php');

                exit;


            }

        }

    }


?>

Chúc các bạn làm thành công nhé!

Bài Viết Liên Quan

Messsage

Ủng hộ tôi bằng cách click vào quảng cáo. Để tôi có kinh phí tiếp tục phát triển Website!(Support me by clicking on the ad. Let me have the money to continue developing the Website!)