Cara menggunakan form loginphp

Sekarang kita akan membuat sebuah form login dan pendaftaraan dengan menggunakan PHP dan MySQL. Nah, kalian yang mungkin pertama kali belajar membuat web santai saja, disini anbi bakal bahas langkah per langkah.


Persiapan


Nah apa saja yang perlu kita persiapkan nih? Berikut ini yang perlu kalian persiapan :

Visual Studio Code

Buat apa Visual Studio Code? VS Code (Visual Studio Code) sebuah teks editor ringan dan handal yang dibuat oleh Microsoft untuk sistem operasi multiplatform, artinya tersedia juga untuk versi Linux, Mac, dan Windows.

Download Disini

Kalau selesai download, waktu installasi itu option dibawah dicentang semua yaa, supaya mempermudah kita dalam mengakses Visual Studio Code.

Cara menggunakan form loginphp
Centang Semua Optionnya

XAMPP

Lalu apa itu XAMPP? XAMPP merupakan paket alat untuk menjalankan web server dan database di localhost komputer. Itu artinya kalau kalian sudah punya website online, XAMPP membantumu membuat versi offline dari website tersebut.

Download Disini

Setelah selesai menginstall jangan lupa untuk mengaktifkan server Apache dan database MySQL pada XAMPP terlebih dahulu.

Cara menggunakan form loginphp
Apache Server dan Database MySQL

Buat Struktur Folder


Setelah selesai menginstall kedua aplikasi tersebut, mari kita lanjut membuat struktur folder untuk web ini.

  • Sekarang arahkan ke folder htdocs dan buat folder baru bernama login-signup caranya :

    • Akses pada C:\xampp\htdocs
    • Buat disana buat folder bernama login-signup.
      Cara menggunakan form loginphp
      Folder login-signup
  • Lalu didalam folder login-signup kita buat file PHP bernama index.php serta buat juga file stylesheet css bernama style.css dan juga folder lagi bernama pages.

  • Didalam folder pages buat file bernama login.php dan daftar.php.

  • Coba buka folder login-signup dengan menggunakan Visual Studio Code. Caranya hanya dengan klik kanan dan pilih “Open With Code”.

Cara menggunakan form loginphp
Nih kayak gini Open With Code

Penjelasan Struktur Kode

Jika kalian membuat folder beserta filenya dengan baik, hasilnya akan seperti ini :

Cara menggunakan form loginphp
Struktur Web Folder
  • Folder pages berisi file login.php dan daftar.php.

    • login.php , file ini nantinya akan berisi tampilan form login, dengan input username dan password.

    • daftar.php, file ini nantinya akan berisi tampilan form daftar dengan input username , email dan password.

  • index.php, file ini akan kita isi dengan kode PHP dimana ia akan menampilkan hasil POST pada halaman login dan daftar.

  • style.css , file ini akan menampung kode stylesheet untuk menghias web kita dengan CSS agar lebih menarik.


Form Login


Setelah membuat struktur folder dengan baik, mari kita membuat halaman form login terlebih dahulu. Kode yang kita buat akan disimpan di login.php, dan kode lengkap nya seperti ini :


<html>
    <head>
        <title>Logintitle>
        <link rel="stylesheet" href="../style.css">
    head>
    <body>
        <div class="container">
          <h2>Loginh2>
            <form method="POST" action="../index.php">

                 
                <input name="tujuan" type="hidden" value="LOGIN" >

                <label>Usernamelabel>
                <br>
                <input name="username" type="text">
                <br>
                <label>Passwordlabel>
                <br>
                <input name="password" type="password">
                <br>

                <button>Log Inbutton>
                
                <p> Belum punya akun?
                  <a href="daftar.php">Daftar di sinia>
                p>
            form>
        div>
    body>
html>

Coba kita lihat hasilnya, dengan mengakses link berikut http://localhost/login-signup/pages/login.php

“Sebentar, Kenapa linknya aksesnya seperti itu?"

Cara menggunakan form loginphp
Ini Penjelasannya

Nih hasilnya 😄

Cara menggunakan form loginphp
Hasil Tampilan Login

Penjelasan Garis Besar Kode

  • Action

<form method="POST" action="../index.php">

Kode diatas untuk memberi tahu kemana data pada form ini akan dikirim? disana anbi mengarahkan ke file index.php dengan menggunakan method POST. Apa itu method POST? bisa kalian lihat disini.

  • Data yang dikirim

<input name="username" type="text">
<input name="password" type="password">

Kedua baris kode diatas adalah tempat data yang akan dikirim. Attribute name digunakan sebagai identitas dari data yang dikirim, sehingga server dapat mengenali data tersebut berdasarkan nama yang kita berikan.

Jadi misal name = "username" nanti ketika dikirim kita bisa menggunakan kode PHP untuk memanggil data yang dia input di textbox dengan kode $_POST["username"].

  • Hidden Input

<input name="tujuan" type="hidden" value="LOGIN" >

Kode diatas nantinya akan sebagai penanda bahwa data yang dikirim ke index.php adalah dari form Login. Kita juga akan membuat hal yang sama pada form pendaftaran.

Perhatikan attribute value, value ini digunakan untuk mendefinisikan nilai default.

  • Pindah Halaman

<a href="daftar.php">Daftar di sinia>

Untuk kode diatas digunakan untuk pindah ke halaman daftar.


Form Daftar


Lalu kita lanjut membuat tampilan form pada file daftar.php. Kode nya hampir sama dengan yang tadi, tetapi ada sedikit perubahan dan tambahan menjadi seperti ini :


<html>
    <head>
        <title>Halaman Logintitle>
        <link rel="stylesheet" href="../style.css">
    head>
    <body>
        <div class="container">
          <h2>Daftarh2>
            <form method="POST" action="../index.php">

                <input type="hidden" name="tujuan" value="DAFTAR">

                <label>Usernamelabel>
                <br>
                <input name="username" type="text">
                <br>
                <label>Emaillabel>
                <br>
                <input name="email" type="text">
                <br>
                <label>Passwordlabel>
                <br>
                <input name="password" type="password">
                <br>
                <button>Daftarbutton>
                <p> Sudah punya akun?
                  <a href="login.php">Login di sinia>
                p>
            form>
        div>
    body>
html>

Coba kita lihat hasilnya dengan mengakses link berikut ini http://localhost/login-signup/pages/daftar.php.

Cara menggunakan form loginphp
Hasil Tampilan Daftar

Penjelasan Garis Besar Kode

Sebagian besar kode yang digunakan hampir sama seperti form login, tetapi disini nilai untuk Hidden Input diubah menjadi "DAFTAR" dan input data tambahan bernama "email".


Mari Hias Dengan CSS!


Nah, sentuhan terakhir agar form web kita terlihat elok nan cantik, perlu kita hias menggunakan CSS. Jika kalian lihat pada kode diatas, terdapat satu baris kode :

<link rel="stylesheet" href="../style.css">

Yang berarti semua kode CSS pada file style.css akan diimport kedalam file HTML yang memiliki baris kode tersebut. Gampangnya, baris kode itu menghubungkan file PHP HTML kita dengan file CSS.

Nah sekarang mari kita masukkan kode CSS kedalam file style.css.

*{
    margin: 0;
    padding: 0;
    outline: 0;
    font-family: 'Open Sans', sans-serif;
}
body{
    height: 100vh;
    background-color: #242424;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
p {
  color: rgb(26, 25, 25);
  font-family: 'Open Sans', sans-serif;
  padding-top: 10px;
}

h2 {
  text-align: center;
  padding-bottom: 20px;
}

a {
  color: #752BEA;
  font-family: 'Open Sans', sans-serif;
}

.container{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    padding: 20px 25px;
    width: 300px;

    background-color: rgba(255, 255, 255, .9);
    box-shadow: 0 0 10px rgba(255,255,255,.3);
}
.container h2{
    text-align: left;
    color: #1d1d1d;
    margin-bottom: 30px;
    border-bottom: 5px solid#1d1d1d;
}
.container label{
    text-align: left;
    color: #1d1d1d;
}
.container form input{
    width: calc(100% - 20px);
    padding: 8px 10px;
    margin-bottom: 15px;
    border: none;
    background-color: transparent;
    border-bottom: 1px solid #1d1d1d;
    color: #1d1d1d;
    font-size: 20px;
}
.container form button{
    width: 100%;
    height: 40px;
    padding: 5px 0;
    border: none;
    background-color:#752BEA;
    font-size: 18px;
    color: #fafafa;
    border-radius: 20px;
}

Setelah kita hias dengan kode diatas, anbi harap tampilan kedua form akan menjadi seperti ini.

Cara menggunakan form loginphp
Hasil Tampilan Login Dengan CSS
Cara menggunakan form loginphp
Hasil Tampilan Daftar Dengan CSS

Halaman Index!


Terakhir kita akan membuat halaman index. Nantinya, halaman ini akan menjadi target data form kita dikirim. Sehingga data yang kita masukkan pada form login atau daftar akan diproses disini.

Kode pada halaman index berisi seperti ini :

 
    if(isset($_POST["tujuan"])){

        $tujuan = $_POST["tujuan"];
        
        if($tujuan == "LOGIN"){
            $username = $_POST["username"];
            $password = $_POST["password"];
            
            /* logika sederhana admin */
            if($username == "admin" && $password == "admin"){
                echo "

Selamat Datang, ".$username."!

"
; }else{ echo "

Username atau Password Salah!

"
; } }else{ $username = $_POST["username"]; $password = $_POST["password"]; $email = $_POST["email"]; echo "

Anda sudah terdaftar sebagai ".$username."!

"
; } } ?>

Penjelasan Garis Besar Kode

  • Cek Request POST


if(isset($_POST["tujuan"]))
?>

Kode diatas bertujuan untuk mengetahui “apakah terdapat request POST yang masuk?". Maksud variabel $_POST["tujuan"] adalah data dari yang dikirim melalui form ke index.php.


$tujuan = $_POST["tujuan"];
?>

Jika terdapat request POST dari hidden input "tujuan" maka nilai akan disimpan divariabel $tujuan.

  • Bagian Login


if($tujuan == "LOGIN"){
    $username = $_POST["username"];
    $password = $_POST["password"];
}
?>

Nah, jika nilai variabel $tujuan bernilai "LOGIN" maka ia akan mengambil data form input "username" dan "password" yang dikirim. Kedua data tersebut akan disimpan di variabel $username dan $password.


/* logika sederhana admin */
if($username == "admin" && $password == "admin"){
    echo "

Selamat Datang, ".$username."!

"
; }else{ echo "

Username atau Password Salah!

"
; } ?>

Disini anbi membuat kondisi simulasi login pada umumnya. Jika nilai Username dan Password adalah "admin", maka halaman index.php akan mengatakan “Selamat Datang, Admin!". Jika tidak makan halaman index.php akan mengatakan Username atau Password Salah!"

  • Bagian Daftar


$username = $_POST["username"];
$password = $_POST["password"];
$email = $_POST["email"];

echo "

Anda sudah terdaftar sebagai ".$username."!

"
; ?>

Selanjutnya adalah bagian daftar, disini kita mengambil nilai dari data form input "username", "password", "email" dan menampilkan nilai $username.

Ketika semua langkah - langkah diatas sudah kita implementasikan, maka web akan berjalan seperti ini.

Cara menggunakan form loginphp
Hasil Login dan Daftar!. . .

Gimana paham gak dengan penjelasan diatas, mungkin agak ribet yak, jika kalian masih bingung bisa tanya dikolom komentar dibawah. Untuk full codenya kalian bisa akses di github AnbiDev.

🐙 https://github.com/AnbiDev/php-login-daftar

Oke sekian dari Anbi, sampai ketemu di artikel selanjutnya

Happy Coding