Kursus Web Programming
  • Home
  • Blog
  • PHP
  • MySQL
  • Framework
  • Javascript
  • Tips dan Trik
Select Page

Sistem Login Berbasis AJAX dengan jQuery Lightbox Part 3

by DUMET School | Mar 13, 2019 | MySQL, PHP, Programming, Tips dan Trik, Website | 0 comments

Alur skrip login mirip dengan registrasi. Pengguna harus mengklik menu masuk untuk melihat form dalam dialog modal. Kolom Email dan Kata Sandi digunakan untuk mengautentikasi pengguna terdaftar. Dengan mengirimkan detail login melalui AJAX, kode PHP akan memproses otentikasi. Setelah pengguna berhasil melakukan otentikasi, maka dasbor akan ditampilkan kepada pengguna. Jika detail login tidak benar, maka pengguna akan diberitahu dengan pesan kesalahan.

login-form.php – modal container

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
<div id="login-dialog" title="Login Dialog Form" style="display: none;">
    <form id="login-form" action="" method="post" role="form">
        <div class="input-row">
            <span id="email-info"></span> <input type="email"
                name="login-email-id" id="login-email-id"
                class="input-field" placeholder="Email ID">
        </div>
        <div class="input-row">
            <span id="password-info"></span> <input type="password"
                name="login-password" id="login-password"
                class="input-field" placeholder="Password">
        </div>
        <input type="button" class="btn-submit" value="Log In"
            onclick="ajaxLogin()">
    </form>
 
    <div class="success-message" id="login-success-message"
        style="display: none"></div>
    <div class="error-message" id="login-error-message"
        style="display: none"></div>
    <div id="ajaxloader" style="display: none">
        <img src="LoaderIcon.gif" id="loaderId" />
    </div>
</div>
 
Request Log

Request Login Via AJAX

Permintaan AJAX ini melewati tiga parameter yaitu alamat email pengguna, kata sandi, dan parameter tindakan sistem registration login. Params ini dikirim dengan menggunakan metod request POST.

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
function ajaxLogin() {
$(".error").text("");
$('#email-info').removeClass("error");
$('#password-info').removeClass("error");
 
var emailId = $('#login-email-id').val();
var password = $('#login-password').val();
var actionString = 'login';
 
if (emailId == "") {
$('#email-info').addClass("error");
$(".error").text("required");
} else if (!validateEmailId(emailId)) {
$('#email-info').addClass("error");
$('.error').text("Invalid");
} else if (password == "") {
$('#password-info').addClass("error");
$(".error").text("required");
} else {
// show loader
$('#loaderId').show();
$.ajax({
url : 'ajax-login-registration.php',
type : 'POST',
data : {
emailId : emailId,
password : password,
action : actionString
},
success : function(response) {
if (response.trim() == 'error') {
$('#login-success-message').hide();
$('#ajaxloader').hide();
$('#login-error-message').html(
"Invalid Attempt. Try Again.");
$('#login-error-message').show();
} else {
$('.demo-container').html(response);
//register_window.dialog("close");
$("#login-dialog").dialog("close");
}
}
});
this.close();
}// endif
}

Login Case in ajax-login-registration.php

Dengan memeriksa parameter tindakan dan menemukan itu adalah permintaan login, maka alamat email yang dimasukkan dan kata sandi akan digunakan untuk memeriksa database. Sebelum mengikat kata sandi ke kueri validasi login, harus dienkripsi dengan metode yang sama yang diterapkan saat memasukkan ke database. Setelah email dan kata sandi yang dimasukkan dicocokkan dengan database, maka otentikasi akan berhasil. Jika tidak, pengguna akan diberi tahu dengan pesan  akun tidak  Valid pada dialog modal masuk.

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
<?php
...
...
 
if (isset($_POST['action']) && $_POST['action'] == 'login') {
    $emailId = validateData($_POST['emailId']);
    $password = validateData($_POST['password']);
    $password = md5($password);
    $error_message = '';
    
    $selectQuery = $conn->prepare("select * from tbl_registration where email_id = ? and password = ?");
    $selectQuery->bind_param("ss", $emailId, $password);
    $selectQuery->execute();
    
    $result = $selectQuery->get_result();
    
    if ($result->num_rows > 0) {
        while ($row = $result->fetch_assoc()) {
            $_SESSION['username'] = $row['first_name'] . " " . $row['last_name'];
            require_once "dashboard.php";
            exit();
        } // endwhile
    } // endif
else {
        $error_message = "error";
    } // endElse
    $conn->close();
    
    echo $error_message;
}
?>

Menampilkan  Dashboard ke Pengguna yang Masuk

Setelah berhasil masuk, kode PHP akan mengembalikan respons HTML untuk menampilkan dasbor pengguna ke browser. HTML ini akan diperbarui ke UI melalui AJAX tanpa penyegaran halaman. Call back sukses AJAX mendapatkan respons HTML dari PHP dan memproses pembaruan UI. Di HTML dasbor, ini berisi teks sambutan dengan menyapa pengguna yang masuk. Juga, itu akan menunjukkan opsi untuk keluar. Logout sederhana, sebuah tautan HTML akan memanggil logput.php.

Di loggout.php, sesi pengguna akan dihancurkan dan pengguna akan diarahkan ke halaman beranda.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<div class="dashboard">
    <?php
    if (isset($_SESSION['username'])) {
        echo "Welcome  " . $_SESSION['username'];
        
        ?>
        <div style="height: 10px"></div>
    <div>
        <a href="logout.php"><input type="button" class="btn-logout"
            value="Logout"></a>
 
    </div>
        <?php
    }
    ?>
</div>

logout.php

1
2
3
4
5
6
<?php
session_start();
unset($_SESSION['username']);
session_destroy();
header("Location: index.php");
?>

Output

Sistem Login Berbasis AJAX dengan jQuery Lightbox Part 3

Sistem Login Berbasis AJAX dengan jQuery Lightbox Part 3

Facebook DUMET School

Konsultasi Gratis

Phone/WA/SMS : 0812-9933-3913
E-mail : info@dumetschool.com
Website : dumetschool.com

Categories

  • Aplikasi
  • Backend
  • C
  • Database
  • Framework
  • Golang
  • Javascript
  • Kursus Web Programming
  • Laravel
  • Mobile App
  • MySQL
  • PC
  • PHP
  • PostgreSQL
  • Programming
  • Python
  • Tips dan Trik
  • Website

Video E-Learning Web Programming

  • Tutorial PHP MySQL
  • Tutorial Framework

Testimoni Murid Web Programming

Testimoni Murid Web Programming
  • Facebook
  • X
  • RSS
© DUMET School

WhatsApp us