Cara Buat Sistem Login Aman PHP dan MySQL dalam 30 Menit - Geturnet.com
Cara Buat Sistem Login Aman PHP dan MySQL dalam 30 Menit - Geturnet.com
Dalam tutorial ini, Geturnet akan mengajari Anda cara membuat sistem login PHP aman hanya dalam 30 Menit kedepan. Formulir masuk adalah yang dapat digunakan pengunjung situs web Anda untuk masuk ke situs web Anda untuk mengakses konten yang dibatasi, seperti halaman profil. Kami akan memanfaatkan MySQL untuk mengambil data akun dari database dan memvalidasi data yang diambil dengan PHP.
Paket Lanjutan menyertakan fitur tambahan dan tautan unduhan ke kode sumber. Selain itu, ini termasuk kode sumber tutorial lengkap.
Isi
Cara Buat Sistem Login Aman PHP dan MySQL dalam 30 Menit
Mulai
Persyaratan
Apa yang Akan Anda Pelajari dalam Tutorial ini
Struktur & Pengaturan File
Membuat Desain Form Login
Membuat Database dan mengatur Tabel
Otentikasi Pengguna dengan PHP
Membuat Halaman Beranda
Membuat Halaman Profil
Membuat Skrip Logout
Cara Buat Sistem Login Aman PHP dan MySQL dalam 30 Menit - Geturnet
Hay Kawan Coding Geturnet dalam 30 Menit Kedepan Kami Ingin Membagikan Langkah - Langkah Membuat Apikasi dengan sistem Login yang Aman. Berikut merupan Cara Buat Sistem Login Aman PHP dan MySQL dalam 30 Menit - Geturnet. Perhatikan Dengan Seksama.
1. Memulai
Ada beberapa langkah yang perlu kita ambil sebelum kita membuat sistem login aman kita. Kami perlu mengatur lingkungan server web kami dan memastikan kami telah mengaktifkan ekstensi yang diperlukan.
1.1. Persyaratan
Jika Anda belum menyiapkan server web lokal, saya sarankan Anda mengunduh dan menginstal XAMPP .
XAMPP adalah paket server web lintas platform yang menyertakan hal-hal penting untuk pengembang front-end dan back-end. Ini termasuk PHP, MySQL, Apache, phpMyAdmin, dan banyak lagi. Tidak perlu menginstal semua perangkat lunak secara terpisah dengan XAMPP, terutama saat bekerja di lingkungan pengembangan.
1.2. Apa yang Akan Anda Pelajari dalam Tutorial ini
Desain Formulir — Desain formulir masuk yang elegan dengan HTML5 dan CSS3.
Kueri SQL yang Disiapkan — Cara menyiapkan kueri SQL dengan benar untuk mencegah injeksi SQL dan karenanya mencegah database Anda terekspos.
Validasi Dasar — Memvalidasi data formulir yang dikirim ke server menggunakan permintaan GET dan POST (nama pengguna, kata sandi, email, dll.).
Manajemen Sesi — Menginisialisasi sesi dan menyimpan hasil database yang diambil. Sesi disimpan di server dan dikaitkan dengan ID unik yang disimpan di browser (cookie).
1.3. Struktur & Pengaturan File
Kita sekarang dapat memulai server web kita dan membuat file dan direktori yang akan kita gunakan untuk sistem login kita.
Open XAMPP Control Panel
Di sebelah modul Apache klik Mulai
Di sebelah modul MySQL, klik Mulai
Arahkan ke direktori instalasi XAMPP ( C:\xampp )
Buka direktori htdocs
Buat direktori dan file berikut:
Struktur File
\-- phplogin
|-- index.html
|-- style.css
|-- authenticate.php
|-- logout.php
|-- home.php
|-- profile.php
Setiap file akan terdiri dari berikut ini:
index.html — Formulir login yang dibuat dengan HTML5 dan CSS3. Kita tidak perlu menggunakan PHP dalam file ini. Oleh karena itu, kita dapat menyimpannya sebagai HTML biasa.
style.css — Stylesheet (CSS3) untuk sistem login aman kami.
authenticate.php — Otentikasi pengguna, sambungkan ke database, validasi data formulir, ambil hasil database, dan buat sesi baru.
logout.php — Hancurkan sesi login dan alihkan pengguna ke halaman login.
home.php — Beranda dasar untuk pengguna yang masuk.
profile.php — Mengambil detail akun pengguna dari database MySQL kami dan mengisinya dengan PHP dan HTML.
2. Membuat Desain Form Login
Kami sekarang akan membuat formulir yang dapat digunakan pengguna kami untuk memasukkan detail mereka dan mengirimkannya untuk diproses. Kami akan menggunakan HTML dan CSS untuk bagian tutorial ini, karena PHP tidak diperlukan di halaman ini.
Edit file index.html dengan editor kode favorit Anda dan tambahkan kode berikut:
HTML
Menyalin
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Login</title>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.1/css/all.css">
</head>
<body>
<div class="login">
<h1>Login</h1>
<form action="authenticate.php" method="post">
<label for="username">
<i class="fas fa-user"></i>
</label>
<input type="text" name="username" placeholder="Username" id="username" required>
<label for="password">
<i class="fas fa-lock"></i>
</label>
<input type="password" name="password" placeholder="Password" id="password" required>
<input type="submit" value="Login">
</form>
</div>
</body>
</html>
Jika kita menavigasi ke halaman indeks di browser web kita, maka akan terlihat seperti berikut:
Tata Letak Formulir Login HTML Dasar
Cukup mendasar, bukan? Mari edit file style.css kita dan terapkan kode yang akan meningkatkan tampilan formulir.
Tambahkan kode berikut ke file style.css :
CSS
Menyalin
* {
box-sizing: border-box;
font-family: -apple-system, BlinkMacSystemFont, "segoe ui", roboto, oxygen, ubuntu, cantarell, "fira sans", "droid sans", "helvetica neue", Arial, sans-serif;
font-size: 16px;
}
body {
background-color: #435165;
}
.login {
width: 400px;
background-color: #ffffff;
box-shadow: 0 0 9px 0 rgba(0, 0, 0, 0.3);
margin: 100px auto;
}
.login h1 {
text-align: center;
color: #5b6574;
font-size: 24px;
padding: 20px 0 20px 0;
border-bottom: 1px solid #dee0e4;
}
.login form {
display: flex;
flex-wrap: wrap;
justify-content: center;
padding-top: 20px;
}
.login form label {
display: flex;
justify-content: center;
align-items: center;
width: 50px;
height: 50px;
background-color: #3274d6;
color: #ffffff;
}
.login form input[type="password"], .login form input[type="text"] {
width: 310px;
height: 50px;
border: 1px solid #dee0e4;
margin-bottom: 20px;
padding: 0 15px;
}
.login form input[type="submit"] {
width: 100%;
padding: 15px;
margin-top: 20px;
background-color: #3274d6;
border: 0;
cursor: pointer;
font-weight: bold;
color: #ffffff;
transition: background-color 0.2s;
}
.login form input[type="submit"]:hover {
background-color: #2868c7;
transition: background-color 0.2s;
}
Kami telah menerapkan berbagai properti CSS yang akan membuat formulir login kami terlihat lebih menarik. Jangan ragu untuk menyesuaikannya.
Kita perlu menyertakan stylesheet baru kita di file index.html kita dan oleh karena itu kita harus menambahkan kode berikut ke bagian head:
HTML
Menyalin
<link href="style.css" rel="stylesheet" type="text/css">
Dan sekarang, jika kita me-refresh halaman index.html di web browser kita, form login kita akan terlihat lebih menarik:
Tata Letak Formulir Masuk HTML yang Mengagumkan
Itu terlihat jauh lebih baik! Mari persempit elemen form, sehingga kita bisa lebih memahami apa yang terjadi.
Formulir — Kita perlu mengimplementasikan keduanyatindakanDanposatribut. Itutindakanatribut akan diatur ke file autentikasi, karena saat formulir dikirimkan, data formulir akan dikirim ke file autentikasi untuk diproses. Selain itu,metodeatribut dinyatakan sebagaiposkarena ini akan memungkinkan kami memproses data formulir menggunakan metode permintaan POST.
Masukan (teks/kata sandi) — Kita perlu memberi nama kolom formulir kita agar server dapat mengenalinya. Nilai atributnamakita dapat mendeklarasikan sebagainama belakang, yang bisa kita gunakan untuk mengambil variabel post di file otentikasi kita untuk mendapatkan datanya, misalnya:$_POST['nama pengguna'].
Input (kirim) — Saat pengiriman formulir, data akan dikirim ke file autentikasi kami untuk diproses.
3. Membuat Database dan Setting-up Tabel
Untuk bagian ini, Anda perlu mengakses database MySQL Anda, baik menggunakan phpMyAdmin atau aplikasi manajemen database MySQL pilihan Anda.
Ikuti petunjuk di bawah ini jika Anda menggunakan phpMyAdmin .
Arahkan ke: http://localhost/phpmyadmin/
Klik tab Database di bagian atas
Di bawah Create database , masukkan phplogin di kotak teks
Pilih utf8_general_ci sebagai pemeriksaan
Klik Buat
Anda dapat menggunakan nama database Anda sendiri, tetapi untuk tutorial ini, kami akan menggunakan phplogin .
Pada dasarnya, kami memerlukan tabel akun , karena tabel ini akan menyimpan semua akun (nama pengguna, kata sandi, email, dll.) yang terdaftar di sistem.
Klik database di panel sisi kiri ( phplogin ) dan jalankan pernyataan SQL berikut:
SQL
Menyalin
CREATE TABLE IF NOT EXISTS `accounts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL,
`password` varchar(255) NOT NULL,
`email` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
INSERT INTO `accounts` (`id`, `username`, `password`, `email`) VALUES (1, 'test', '$2y$10$SfhYIDtn.iOuCW7zfoFLuuZHX6lja4lF4XA4JqNmpiH/.P3zB8JCa', 'test@test.com');
Pada phpMyAdmin ini akan terlihat seperti:
Tabel Akun phpMyAdmin
Kode pernyataan SQL di atas akan membuat tabel akun dengan kolompengenal, nama belakang,kata sandi, Dansurel.
Pernyataan SQL akan memasukkan akun pengujian dengan nama pengguna:tes, dan kata sandi:tes. Akun pengujian akan digunakan untuk tujuan pengujian guna memastikan sistem login kami berfungsi dengan benar.
4. Otentikasi Pengguna dengan PHP
Sekarang setelah database kita siap, kita dapat melanjutkan dan mulai membuat kode dengan PHP. Kita akan mulai dengan file autentikasi, yang akan memproses dan memvalidasi data formulir yang akan kita kirimkan dari file index.html kita .
Edit file authenticate.php dan tambahkan berikut ini:
PHP
Menyalin
<?php
session_start();
// Change this to your connection info.
$DATABASE_HOST = 'localhost';
$DATABASE_USER = 'root';
$DATABASE_PASS = '';
$DATABASE_NAME = 'phplogin';
// Try and connect using the info above.
$con = mysqli_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASS, $DATABASE_NAME);
if ( mysqli_connect_errno() ) {
// If there is an error with the connection, stop the script and display the error.
exit('Failed to connect to MySQL: ' . mysqli_connect_error());
}
Awalnya, kode akan memulai sesi karena ini memungkinkan kami menyimpan detail akun di server dan nantinya akan digunakan untuk mengingat pengguna yang masuk. Tanpa sesi, kami tidak dapat mengaitkan klien dengan server.
Menghubungkan ke database sangat penting. Tanpanya, bagaimana kami dapat mengambil dan menyimpan informasi yang terkait dengan pengguna kami? Oleh karena itu, kita harus memastikan untuk memperbarui variabel agar mencerminkan kredensial database MySQL kita.
Tambahkan di bawah ini:
PHP
Menyalin
// Now we check if the data from the login form was submitted, isset() will check if the data exists.
if ( !isset($_POST['username'], $_POST['password']) ) {
// Could not get the data that should have been sent.
exit('Please fill both the username and password fields!');
}
Kode di atas akan memastikan data formulir ada, sedangkan jika pengguna mencoba mengakses file tanpa mengirimkan formulir, itu akan menghasilkan kesalahan sederhana.
Tambahkan di bawah ini:
PHP
Menyalin
// Prepare our SQL, preparing the SQL statement will prevent SQL injection.
if ($stmt = $con->prepare('SELECT id, password FROM accounts WHERE username = ?')) {
// Bind parameters (s = string, i = int, b = blob, etc), in our case the username is a string so we use "s"
$stmt->bind_param('s', $_POST['username']);
$stmt->execute();
// Store the result so we can check if the account exists in the database.
$stmt->store_result();
$stmt->close();
}
?>
Kode di atas akan mempersiapkan pernyataan SQL yang akan memilihpengenalDankata sandikolom dari tabel akun. Selain itu, itu akan mengikatnama belakangke pernyataan SQL, jalankan, lalu simpan hasilnya.
Tip
Memanfaatkan pernyataan yang disiapkan dengan benar akan mengamankan kueri SQL Anda dan karenanya mencegah injeksi SQL.
Setelah baris berikut:
$stmt->store_result();
Menambahkan:
PHP
Menyalin
if ($stmt->num_rows > 0) {
$stmt->bind_result($id, $password);
$stmt->fetch();
// Account exists, now we verify the password.
// Note: remember to use password_hash in your registration file to store the hashed passwords.
if (password_verify($_POST['password'], $password)) {
// Verification success! User has logged-in!
// Create sessions, so we know the user is logged in, they basically act like cookies but remember the data on the server.
session_regenerate_id();
$_SESSION['loggedin'] = TRUE;
$_SESSION['name'] = $_POST['username'];
$_SESSION['id'] = $id;
echo 'Welcome ' . $_SESSION['name'] . '!';
} else {
// Incorrect password
echo 'Incorrect username and/or password!';
}
- Cara Dapat Gaji Tinggi ! Kenali dulu Tugas dan Tanggung Jawab Seorang Android Developer
- Bekerja Menjadi Android Developer ! Kenali Program ini
- Cara Buat Sistem Login Aman PHP dan MySQL dalam 30 Menit - Geturnet.com
- Cara Dapat Gaji Tinggi ! Kenali dulu Tugas dan Tanggung Jawab Seorang Android Developer
- Ubuntu ! Penjelasan, Jenis, dan Kelebihannya Lengkap
- Geturnet ! Yuk 1 Jam Mengenal PHP : Pengertian, Fungsi & Sejarah Singkat PHP
} else {
// Incorrect username
echo 'Incorrect username and/or password!';
}
Pertama, kita harus memeriksa apakah kueri telah mengembalikan hasil apa pun. Jikanama belakangtidak ada di database, maka tidak akan ada hasil.
Jika nama pengguna ada, kami dapat mengikat hasilnya ke keduanya$idDan$kata sandivariabel.
Selanjutnya, kami melanjutkan untuk memverifikasi kata sandi dengankata sandi_verifikasifungsi. Hanya kata sandi yang dibuat denganpassword_hashfungsi akan bekerja.
Jika Anda tidak ingin menggunakan metode enkripsi kata sandi apa pun, Anda cukup mengganti kode berikut:
PHP
Menyalin
if (password_verify($_POST['password'], $password)) {
Dengan:
PHP
Menyalin
if ($_POST['password'] === $password) {
Namun, saya tidak menyarankan menghapus fungsi hashing karena jika entah bagaimana database Anda terekspos, semua kata sandi yang disimpan di tabel akun juga akan terekspos. Selain itu, pengguna akan memiliki rasa privasi mengetahui kata sandi mereka dienkripsi. Merupakan praktik yang baik untuk mem-hash kata sandi.
Setelah autentikasi berhasil dari pengguna, variabel sesi akan diinisialisasi dan dipertahankan hingga dihancurkan dengan keluar atau sesi berakhir. Variabel sesi ini disimpan di server dan dikaitkan dengan ID sesi yang disimpan di browser pengguna. Kami akan menggunakan variabel-variabel ini untuk menentukan apakah pengguna masuk atau tidak dan untuk menghubungkan variabel sesi dengan hasil database MySQL kami yang diambil.
Tahukah kamu?
Fungsi session_regenerate_id() akan membantu mencegah pembajakan sesi karena meregenerasi ID sesi pengguna yang disimpan di server dan sebagai cookie di browser.
Pengguna tidak dapat mengubah variabel sesi di browser mereka, dan karena itu Anda tidak perlu khawatir tentang masalah seperti itu. Satu-satunya variabel yang dapat mereka ubah adalah ID sesi terenkripsi, yang mengaitkan pengguna dengan sesi server.
Sekarang, kita dapat menguji sistem login dan memastikan otentikasi berfungsi dengan benar. Arahkan ke http://localhost/phplogin/index.html di browser Anda.
Ketik nama pengguna dan kata sandi acak, dan klik tombol masuk. Itu harus menampilkan kesalahan yang akan terlihat seperti berikut:
Otentikasi Nama Pengguna PHP Salah
Jangan khawatir, itu tidak rusak! Jika kita menavigasi kembali ke form login dan memasukkan test untuk kolom username dan password, halaman autentikasi akan terlihat seperti berikut:
Otentikasi Login di PHP
Jika Anda menerima kesalahan, pastikan untuk memeriksa ulang kode Anda untuk memastikan Anda tidak melewatkan apa pun atau memeriksa apakah akun percobaan ada di database Anda.
5. Membuat Beranda
Halaman beranda akan menjadi halaman pertama yang dilihat pengguna kami saat mereka masuk. Satu-satunya cara mereka dapat mengakses halaman ini adalah jika mereka masuk, sedangkan jika tidak, mereka akan dialihkan kembali ke halaman masuk .
Edit file home.php dan tambahkan kode berikut:
PHP
Menyalin
<?php
// We need to use sessions, so you should always start sessions using the below code.
session_start();
// If the user is not logged in redirect to the login page...
if (!isset($_SESSION['loggedin'])) {
header('Location: index.html');
exit;
}
?>
Pada dasarnya, kode di atas akan memeriksa apakah pengguna masuk. Jika tidak, mereka akan dialihkan ke halaman masuk. Ingat$_SESSION['login']variabel yang kita definisikan dalam file authenticate.php ? Inilah yang dapat kita gunakan untuk menentukan apakah pengguna masuk atau tidak.
Kiat Pengkodean
Fungsi isset() akan memeriksa apakah variabel tertentu dideklarasikan dan karena itu mencegah terjadinya kesalahan seperti itu, terutama ketika berhadapan dengan metode HTTP.
Setelah itu, kita dapat menambahkan beberapa HTML ke beranda kita. Di bawah tag penutup, tambahkan kode berikut:
PHP
Menyalin
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Home Page</title>
<link href="style.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css" integrity="sha512-xh6O/CkQoPOWDdYTDqeRdPCVd1SpvCA9XXcUnZS2FmJNp1coAFzvtCN9BmamE+4aHK8yyUHUSCcJHgXloTyT2A==" crossorigin="anonymous" referrerpolicy="no-referrer">
</head>
<body class="loggedin">
<nav class="navtop">
<div>
<h1>Website Title</h1>
<a href="profile.php"><i class="fas fa-user-circle"></i>Profile</a>
<a href="logout.php"><i class="fas fa-sign-out-alt"></i>Logout</a>
</div>
</nav>
<div class="content">
<h2>Home Page</h2>
<p>Welcome back, <?=$_SESSION['name']?>!</p>
</div>
</body>
</html>
Kode di atas adalah template untuk halaman rumah kami. Di halaman ini, pengguna akan menemukan pesan selamat datang bersama dengan nama mereka yang ditampilkan, yang menggunakan variabel sesi yang kami nyatakan dalam file autentikasi. Mengagumkan, bukan?
Kita perlu menambahkan CSS untuk halaman beranda. Tambahkan kode berikut ke file style.css :
PHP
Menyalin
.navtop {
background-color: #2f3947;
height: 60px;
width: 100%;
border: 0;
}
.navtop div {
display: flex;
margin: 0 auto;
width: 1000px;
height: 100%;
}
.navtop div h1, .navtop div a {
display: inline-flex;
align-items: center;
}
.navtop div h1 {
flex: 1;
font-size: 24px;
padding: 0;
margin: 0;
color: #eaebed;
font-weight: normal;
}
.navtop div a {
padding: 0 20px;
text-decoration: none;
color: #c1c4c8;
font-weight: bold;
}
.navtop div a i {
padding: 2px 8px 0 0;
}
.navtop div a:hover {
color: #eaebed;
}
body.loggedin {
background-color: #f3f4f7;
}
.content {
width: 1000px;
margin: 0 auto;
}
.content h2 {
margin: 0;
padding: 25px 0;
font-size: 22px;
border-bottom: 1px solid #e0e0e3;
color: #4a536e;
}
.content > p, .content > div {
box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
margin: 25px 0;
padding: 25px;
background-color: #fff;
}
.content > p table td, .content > div table td {
padding: 5px;
}
.content > p table td:first-child, .content > div table td:first-child {
font-weight: bold;
color: #4a536e;
padding-right: 15px;
}
.content > div p {
padding: 5px;
margin: 0 0 10px 0;
}
Sekarang setelah halaman beranda kami siap, kami dapat mengarahkan pengguna kami dari file authenticate.php ke halaman beranda kami, edit authenticate.php dan ganti baris kode berikut:
PHP
Menyalin
echo 'Welcome ' . $_SESSION['name'] . '!';
Dengan:
PHP
Menyalin
header('Location: home.php');
Jika Anda masuk dengan akun percobaan, Anda akan melihat sesuatu seperti ini:
Halaman Beranda Login PHP
Ini adalah halaman beranda yang cukup mendasar. Anda dapat menyesuaikannya sesuai keinginan Anda sekarang setelah Anda memahami cara kerjanya.
6. Membuat Halaman Profil
Halaman profil akan menampilkan informasi akun untuk pengguna yang masuk.
Edit file profile.php dan tambahkan kode berikut:
PHP
Menyalin
<?php
// We need to use sessions, so you should always start sessions using the below code.
session_start();
// If the user is not logged in redirect to the login page...
if (!isset($_SESSION['loggedin'])) {
header('Location: index.html');
exit;
}
$DATABASE_HOST = 'localhost';
$DATABASE_USER = 'root';
$DATABASE_PASS = '';
$DATABASE_NAME = 'phplogin';
$con = mysqli_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASS, $DATABASE_NAME);
if (mysqli_connect_errno()) {
exit('Failed to connect to MySQL: ' . mysqli_connect_error());
}
// We don't have the password or email info stored in sessions, so instead, we can get the results from the database.
$stmt = $con->prepare('SELECT password, email FROM accounts WHERE id = ?');
// In this case we can use the account ID to get the account info.
$stmt->bind_param('i', $_SESSION['id']);
$stmt->execute();
$stmt->bind_result($password, $email);
$stmt->fetch();
$stmt->close();
?>
Kode di atas mengambil informasi akun tambahan dari database, seperti sebelumnya dengan halaman beranda, kami tidak perlu terhubung ke database karena kami mengambil data yang disimpan dalam sesi.
Kami akan mengisi semua informasi akun untuk pengguna dan oleh karena itu kami harus mengambilnyakata sandiDansurelkolom dari database. Kita tidak perlu mengambil kembalinama belakangataupengenalkolom karena kami menyimpannya dalam variabel sesi yang dideklarasikan dalam file authenticate.php .
Setelah tag penutup, tambahkan kode berikut:
PHP
Menyalin
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Profile Page</title>
<link href="style.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css" integrity="sha512-xh6O/CkQoPOWDdYTDqeRdPCVd1SpvCA9XXcUnZS2FmJNp1coAFzvtCN9BmamE+4aHK8yyUHUSCcJHgXloTyT2A==" crossorigin="anonymous" referrerpolicy="no-referrer">
</head>
<body class="loggedin">
<nav class="navtop">
<div>
<h1>Website Title</h1>
<a href="profile.php"><i class="fas fa-user-circle"></i>Profile</a>
<a href="logout.php"><i class="fas fa-sign-out-alt"></i>Logout</a>
</div>
</nav>
<div class="content">
<h2>Profile Page</h2>
<div>
<p>Your account details are below:</p>
<table>
<tr>
<td>Username:</td>
<td><?=$_SESSION['name']?></td>
</tr>
<tr>
<td>Password:</td>
<td><?=$password?></td>
</tr>
<tr>
<td>Email:</td>
<td><?=$email?></td>
</tr>
</table>
</div>
</div>
</body>
</html>
Tata letak sederhana yang akan mengisi informasi akun. Jika Anda menavigasi ke file profile.php , akan terlihat seperti berikut:
Halaman Profil Masuk PHP
Ingat, kata sandi dienkripsi, jadi Anda tidak dapat melihat kata sandi yang didekripsi kecuali Anda membuat variabel sesi baru dan menyimpan kata sandi di file authenticate.php .
7. Membuat Skrip Logout
Membuat skrip logout sangatlah mudah. Yang perlu Anda lakukan hanyalah menghancurkan sesi yang dideklarasikan diotentikasi.phpmengajukan.
Edit file logout.php dan tambahkan kode berikut:
PHP
Menyalin
<?php
session_start();
session_destroy();
// Redirect to the login page:
header('Location: index.html');
?>
Inisialisasi sesi, hancurkan dan arahkan pengguna ke halaman login. Kami menggunakan sesi untuk menentukan apakah pengguna masuk atau tidak, jadi dengan menghapusnya, pengguna tidak akan masuk.
Kesimpulan
Anda sekarang harus memiliki pemahaman dasar tentang bagaimana sistem login bekerja dengan PHP dan MySQL. Anda bebas menggunakan kode sumber dan memasukkannya ke dalam proyek Anda sendiri.
Langkah selanjutnya adalah membuat sistem pendaftaran yang memungkinkan pengunjung untuk mendaftar.
Jika Anda menikmati membaca tutorial ini, jangan lupa untuk mengikuti kami dan membagikan artikelnya, karena ini akan membantu kami membuat tutorial selanjutnya dan memperbarui konten yang ada dengan fitur baru. Kami sangat menghargai dukungannya!
Tutorial berikutnya dalam seri ini: Sistem Registrasi Aman dengan PHP dan MySQL Geturnet
Jika Anda ingin mendukung Geturnet.com, pertimbangkan untuk membeli sistem masuk & pendaftaran aman lanjutan di bawah ini karena ini akan sangat membantu kami membuat lebih banyak tutorial dan menjaga agar situs web kami tetap aktif dan berjalan. Paket lanjutan mencakup kode yang ditingkatkan dan lebih banyak fitur.
Post a Comment for "Cara Buat Sistem Login Aman PHP dan MySQL dalam 30 Menit - Geturnet.com"