Cara Membuat Login Dengan PHP Menggunakan Session
![]() |
Cara Membuat Login Dengan PHP Menggunakan Session |
Cara Membuat Login Dengan PHP Menggunakan Session - Session login pada PHP sangat berguna pada aplikasi web yang kalian buat dimana web nya membutuhkan login dahulu untuk bisa menggunakan aplikasi tersebut. Dengan session login kalian juga bisa mencegah seseorang untuk direct langsung terhadap suatu halaman proses yang ada pada aplikasi web kalian. Nah pada postingan kali ini saya mau membagikan sedikit cara dalam membuat session login pada PHP.
Berikut langkah - langkahnya.
Membuat Session Login Pada PHP
- Pertama kalian buat database baru.
- Berinama database dengan login ( bebas ).
- Buat table dengan nama users.
- Lalu isi field table users seperti gambar dibawah ini.
- Lalu kalian isi data nya manual terlebih dahulu seperti gambar dibawah ini.
- Kemudian kalian buat folder baru di htdocs kalian dengan nama latihan_login.
-
Selanjutnya kalian buat file baru di dalam folder tersebut
dan beri nama dengan
koneksi.php - Lalu kalian ketikkan kode dibawah ini.
- Lanjut, silahkan kalian buat file baru lagi dengan nama
index.php file ini digunakan untuk tampilan pada form login. - Lalu, kalian ketikan kode dibawah ini.
- Selanjutnya, kalian buat file baru dengan nama
login.php - Kemudian kalian ketikkan kode dibawah ini.
- Kemudian buat file baru lagi dengan nama
welcome.php - Kemudian kalian ketikkan kode dibawha ini.
- Terkahir kalian buat file baru dengan nama
logout.php - Kemudian kalian ketikkan kode dibawah ini.
- Selesai..
Catatan
Dapat kalian lihat untuk passwordnya, saya telah menambahkan MD5 untuk belajar menggunakan encrypt pada password yang nantinya kalian buat,
Dapat kalian lihat untuk passwordnya, saya telah menambahkan MD5 untuk belajar menggunakan encrypt pada password yang nantinya kalian buat,
<?php
$host = "localhost"; // Nama hostnya
$username = "root"; // Username
$password = ""; // Password (Isi jika menggunakan password)
$database = "login"; // Nama databasenya
$connect = mysqli_connect($host, $username, $password, $database); // Koneksi ke MySQL
?>
<?php
session_start(); // Start session nya
// Kita cek apakah user sudah login atau belum
// Cek nya dengan cara cek apakah terdapat session username atau tidak
if(isset($_SESSION['username'])){ // Jika session username ada berarti dia sudah login
header("location: welcome.php"); // Kita Redirect ke halaman welcome.php
}
?>
<html>
<head>
<title>Halaman Sebelum Login</title>
</head>
<body>
<h1>Silahkan login terlebih dahulu...</h1>
<div style="color: red;margin-bottom: 15px;">
<?php
// Cek apakah terdapat cookie dengan nama message
if(isset($_COOKIE["message"])){ // Jika ada
echo $_COOKIE["message"]; // Tampilkan pesannya
}
?>
</div>
<form method="post" action="login.php">
<label>Username</label><br>
<input type="text" name="username" placeholder="Username"><br><br>
<label>Password</label><br>
<input type="password" name="password" placeholder="Password"><br><br>
<button type="submit">Login</button>
</form>
</body>
</html>
Penjelasan :
session_start(); berfungsi untuk memulai atau menjalankan suatu session. Karena disini kita akan membuat login yang menggunakan session.
$_SESSION['username'] berfungi untuk mengambil sebuah value dari suatu session.
$_SESSION['nama_session'] bisa kalian lihat didalam kurung tersebut diisi sesuai dengan nama session yang sedang kalian buat, dan saat mendeklarasikan atau men-set suatu sessionnya. Sebagai contoh saya mendeklarasikannya sebagai username.
$_COOKIE['message'] Kita juga menggunakan cookie dalam membuat session, tugas dari cookie ini sendiri adalah untuk menampilkan pesan error saat value yang diisikan salah.
<?php
session_start(); // Start session nya
include "koneksi.php"; // Load file koneksi.php
$username = mysqli_real_escape_string($connect, $_POST['username']); // Ambil value username yang dikirim dari form
$password = mysqli_real_escape_string($connect, $_POST['password']); // Ambil value password yang dikirim dari form
$password = md5($password); // Kita enkripsi (encrypt) password tadi dengan md5
// Buat query untuk mengecek apakah ada data user dengan username dan password yang dikirim dari form
$sql = mysqli_query($connect, "SELECT * FROM users WHERE username='".$username."' AND password='".$password."'");
$data = mysqli_fetch_array($sql); // Ambil datanya dari hasil query tadi
// Cek apakah variabel $data ada datanya atau tidak
if( ! empty($data)){ // Jika tidak sama dengan empty (kosong)
$_SESSION['username'] = $data['username']; // Set session untuk username (simpan username di session)
$_SESSION['nama'] = $data['nama']; // Set session untuk nama (simpan nama di session)
setcookie("message","delete",time()-1); // Kita delete cookie message
header("location: welcome.php"); // Kita redirect ke halaman welcome.php
}else{ // Jika $data nya kosong
// Buat sebuah cookie untuk menampung data pesan kesalahan
setcookie("message", "Maaf, Username atau Password salah", time()+3600);
header("location: index.php"); // Redirect kembali ke halaman index.php
}
?>
<?php
session_start(); // Start session nya
// Kita cek apakah user sudah login atau belum
// Cek nya dengan cara cek apakah terdapat session username atau tidak
if( ! isset($_SESSION['username'])){ // Jika tidak ada session username berarti dia belum login
header("location: index.php"); // Kita Redirect ke halaman index.php karena belum login
}
?>
<html>
<head>
<title>Halaman Setelah Login</title>
</head>
<body>
<h1>Selamat datang <?php echo $_SESSION['nama']; ?></h1>
<h4>Anda berhasil login ke dalam aplikasi</h4>
<a href="logout.php">Logout</a>
</body>
</html>
<?php
session_start(); // Start session nya
session_destroy(); // Hapus semua session
header("location: index.php"); // Redirect ke halaman index.php
?>
Penutup
Nah itu dia tentang Cara Membuat Login Dengan PHP Menggunakan Session semoga bermanfaat buat kalian dalam belajar pemrograman, jika kalian kebingungan silahkan kalian tanyakan agar nantinya kalian tidak bingung dalam belajar, kolom komentar terbuka untuk kalian.
Posting Komentar untuk "Cara Membuat Login Dengan PHP Menggunakan Session"