1. Menjalankan XAMPP

XAMPP merupakan aplikasi cross-platform (Windows, Linux, MacOS) yang digunakan untuk membuat web server lokal pada komputer Anda. 

jika XAMPP sudah terinstall, langsung saja buka aplikasi, lalu jalankan web server Apache dan MySQL. Caranya, klik tombol Start.

2. Membuat Database

Langkah pada tutorial php login session berikutnya adalah membuat database. 

Database diperlukan sebagai tempat penyimpanan data user, seperti username, email, maupun password yang digunakan untuk login.

Untuk membuat database, Anda perlu mengakses localhost/phpmyadmin pada web browser. Tampilannya akan seperti ini :

Pada bagian kiri halaman phpmyadmin, klik New untuk membuat database baru.

Masukkan nama database yang akan Anda gunakan pada kolom yang tersedia. Di contoh ini, kami menggunakan nama nama_database. Setelah itu, klik tombol Create untuk membuat database.

Walaupun database baru Anda sudah berhasil dibuat, tapi isinya masih kosong. Anda perlu menambahkan tabel users untuk menyimpan data user website. Anda dapat menyalin query SQL di bawah ini pada menu SQL di phpmyadmin:


	
CREATE TABLE `users` (
  id int(11) NOT NULL AUTO_INCREMENT,
  username varchar(255) NOT NULL,
  email varchar(255) NOT NULL,
  password varchar(255) NOT NULL,
  PRIMARY KEY(id)
);
 
INSERT INTO `users` (`username`, `email`, `password`) VALUES
('Zayn Tutorial', 'zyntutorial@gmail.com', '0139a3c5cf42394be982e766c93f5ed0');

Untuk menjalankan query tersebut, klik tombol Go.

Sekarang, database Anda sudah memiliki tabel users yang berisi atribut data id, username, email dan password.

3. Membuat Struktur Project

Setelah menyiapkan database, sekarang waktunya untuk menulis kode program php login session. Tapi, sebelumnya siapkan dulu struktur project webnya. 

Pertama-tama, Anda harus membuat folder khusus untuk menyimpan project web. Namun, folder tersebut harus ditempatkan di dalam folder htdocs yang merupakan folder home dari web server. Folder htdocs berada pada path C:\xampp\htdocs

Selanjutnya, buat file baru dengan ekstensi .php. Penjelasan lebih detail mengenai file-file tersebut akan disampaikan di langkah berikutnya.
4. Menghubungkan Database (config.php)

Dengan login session PHP, Anda dapat membatasi hak akses pengunjung agar dapat mengakses konten atau menu sesuai role yang dimiliki. 

Untuk membuat login session PHP, Anda perlu menghubungkan database yang baru dibuat dengan website. Caranya, isilah file config.php yang telah dibuat pada langkah sebelumnya dengan kode untuk membuat koneksi ke database sebagai berikut :

Ubah baris kode  $database = "nama_database"; dengan nama database yang telah Anda buat. Jika nama yang dituliskan salah, maka koneksi dengan database tidak dapat terhubung.
5. Membuat Halaman Login (index.php)

Pada tutorial php session login ini, index.php berisi kode yang digunakan untuk halaman login. Jika Anda perhatikan, dalam file ini terdapat 2 bagian. 

Bagian pertama adalah kode PHP yang digunakan untuk validasi email dan password untuk login. Sedangkan, bagian kedua merupakan kode HTML halaman login yang terdiri dari link file CSS dan kerangka form login.

<?php 
 
include 'config.php';
 
error_reporting(0);
 
session_start();
 
if (isset($_SESSION['username'])) {
    header("Location: berhasil_login.php");
}
 
if (isset($_POST['submit'])) {
    $email = $_POST['email'];
    $password = md5($_POST['password']);
 
    $sql = "SELECT * FROM users WHERE email='$email' AND password='$password'";
    $result = mysqli_query($conn, $sql);
    if ($result->num_rows > 0) {
        $row = mysqli_fetch_assoc($result);
        $_SESSION['username'] = $row['username'];
        header("Location: berhasil_login.php");
    } else {
        echo "<script>alert('Email atau password Anda salah. Silahkan coba lagi!')</script>";
    }
}
 
?>
 
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
 
    <link rel="stylesheet" type="text/css" href="style.css">
 
    <title>Niagahoster Tutorial</title>
</head>
<body>
    <div class="alert alert-warning" role="alert">
        <?php echo $_SESSION['error']?>
    </div>
 
    <div class="container">
        <form action="" method="POST" class="login-email">
            <p class="login-text" style="font-size: 2rem; font-weight: 800;">Login</p>
            <div class="input-group">
                <input type="email" placeholder="Email" name="email" value="<?php echo $email; ?>" required>
            </div>
            <div class="input-group">
                <input type="password" placeholder="Password" name="password" value="<?php echo $_POST['password']; ?>" required>
            </div>
            <div class="input-group">
                <button name="submit" class="btn">Login</button>
            </div>
            <p class="login-register-text">Anda belum punya akun? <a href="register.php">Register</a></p>
        </form>
    </div>
</body>
</html>

Nantinya, kode di atas akan memiliki tampilan seperti gambar di bawah ini jika sudah ditambahkan kode pada file style.css. Anda dapat mengakses form login dengan url localhost/nama_project

Kesimpulan

Itulah tutorial membuat PHP login session untuk website. Bagaimana, sudah berjalan dengan baik, bukan?

Jika tidak berjalan, coba perhatikan lagi apakah folder project yang Anda buat sudah tersimpan dalam folder C:\xampp\htdocs.

Anda juga bisa menyesuaikan tampilan websitenya dengan mengubah file CSS dan mengedit kode HTML-nya. Kalau belum ada perubahan, lakukan refresh atau cobalah menggunakan web browser lain.

Yang perlu diingat, setiap mengakses website, Anda juga harus menjalankan service web server Apache dan MySQL di XAMPP terlebih dulu, ya. Kecuali, jika website Anda sudah diupload ke hosting. Sebab, hosting sudah memiliki web server sendiri.

Dengan harga mulai Rp10rb/bulan anda sudah mempunyai hosting sendiri loh! Yuk, mulai berlangganan sekarang!

 

Demikianlah panduan cara membuat login dengan php menggunakan session, semoga artikel ini bermanfaat pagi Anda ya 🙂