Cara membuat form daftar, login dan logout dengan php mysqli

Cara Membuat Form Daftar, Login dan Logout dengan PHP MySQL – Dalam pembuatan website tentunya memerlukan sebuah form, baik untuk menentukan member atau admin.

Membuat Database MySQL dengan phpMyAdmin

Terlebih dahulu buatlah database, dalam contoh ini saya menggunakan phpMyAdmin.

  • Buat database dengan nama “latihan”.
    Cara membuat form daftar, login dan logout dengan php mysqli

  • Buat tabel dengan nama “user” dan isikan 3 untuk jumlah kolom yang akan dibuat.
    Cara membuat form daftar, login dan logout dengan php mysqli
  • Kemudian isikan ke 3 kolom yang telah dibuat tadi seperti berikut :

    Cara membuat form daftar, login dan logout dengan php mysqli

  • Jika sudah silahkan tekan tombol save untuk menyimpan field yang telah kita isikan.

Apabila langkah diatas telah dilalui berati database telah selesai dibuat dan siap digunakan. Langkah berikutnya adalah membuat form dan proses PHP ke database MySQL.
Disini diperlukan beberapa file yang harus dibuat.

  1. koneksi.php
  2. index.php
  3. daftar.php
  4. prosesdaftar.php
  5. login.php
  6. proseslogin.php
  7. logout.php

Sebelum ke pembuatan form daftar dan login saya minta untuk membuat file koneksi.php untuk menghubungkan ke database, dengan kode dibawah ini.

<?php $host = "localhost"; $user = "root"; $pass = ""; $db = "latihan"; $konek = mysql_connect($host, $user, $pass) or die ('Koneksi Gagal! '); mysql_select_db($db); ?>

Pertama buatlah file dengan nama index.php dimana file ini akan ditampilkan ketika login sukses, isikan dengan kode dibawah :

<?php session_start();
if(!isset($_SESSION['username'])) {
header('location:login.php'); }
else { $username = $_SESSION['username']; }
require_once("koneksi.php");
$query = mysql_query("SELECT * FROM user WHERE username = '$username'");
$hasil = mysql_fetch_array($query);
?>
<center><?php echo "<h2>Selamat Datang, $username</h2>"; ?><a href="logout.php"><b>Logout</b></a></center>

Buatlah file dengan nama daftar.php dan isikan dengan code dibawah ini.

<?php session_start();
if(isset($_SESSION['username'])) {
header('location:index.php'); }
?>
<center>
<form action="prosesdaftar.php" method="post">
<table>
<tbody>
<tr>
<td colspan="2" align="center">
<h1>Daftar Baru</h1>
</td>
</tr>
<tr>
<td>Username</td>
<td>: <input name="username" type="text" /></td>
</tr>
<tr>
<td>Password</td>
<td>: <input name="password" type="password" /></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" value="Daftar" /> <input type="reset" value="Batal" /></td>
</tr>
<tr>
<td colspan="2" align="center">Sudah Punya akun ? <a href="login.php"><b>Login</b></a></td>
</tr>
</tbody>
</table>
</form>
</center>

Sekarang buat file prosesdaftar.php untuk melakukan proses yang diminta pada file daftar.php.

<?php require_once("koneksi.php");
$username = $_POST['username'];
$pass = $_POST['password'];
$cekuser = mysql_query("SELECT * FROM user WHERE username = '$username'");
if(mysql_num_rows($cekuser) <> 0) {
echo "Username Sudah Terdaftar!";
echo "<a href="daftar.php">&amp;amp;laquo; Back</a>";
} else {
if(!$username || !$pass) {
echo "Masih ada data yang kosong!";
echo "<a href="daftar.php">&amp;amp;laquo; Back</a>";
} else {
$simpan = mysql_query("INSERT INTO user(username, password) VALUES('$username','$pass')");
if($simpan) {
echo "Pendaftaran Sukses, Silahkan <a href="login.php">Login</a>";
} else {
echo "Proses Gagal!";
}
}
}
?>

Selanjutnya adalah membuat file login.php dengan kode dibawah.

<?php session_start();
if(isset($_SESSION['username'])) {
header('location:index.php'); }
require_once("koneksi.php");
?>
<center>
<form action="proseslogin.php" method="post">
<h1>Masuk</h1>
<table>
<tbody>
<tr>
<td>Username</td>
<td>: <input name="username" type="text" /></td>
</tr>
<tr>
<td>Password</td>
<td>: <input name="password" type="password" /></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" value="Login" /> <input type="reset" value="Batal" /></td>
</tr>
<tr>
<td colspan="2" align="center">Belum Punya akun ? <a href="daftar.php"><b>Daftar</b></a></td>
</tr>
</tbody>
</table>
</form>
</center>

Agar file login dapat berjalan buatlah file proseslogin.php dengan kode dibawah.

<?php session_start();
require_once("koneksi.php");
$username = $_POST['username'];
$pass = $_POST['password'];
$cekuser = mysql_query("SELECT * FROM user WHERE username = '$username'");
$jumlah = mysql_num_rows($cekuser);
$hasil = mysql_fetch_array($cekuser);
if($jumlah == 0) {
echo "Username Belum Terdaftar!";
echo "<a href="login.php">? Back</a>";
} else {
if($pass <=> $hasil['password']) {
echo "Password Salah!
";
echo "<a href="login.php">&amp;amp;laquo; Back</a>";
} else {
$_SESSION['username'] = $hasil['username'];
header('location:index.php');
}
}
?>

Dan yang terakhir adalah membuat file logout.php untuk menghapus session yang telah digunakan, isi dengan kode dibawah.

<?php session_start();
unset($_SESSION['username']);
?>
<h2>Anda telah berhasil logout..</h2>
Silahkan klik <b>disini</b> untuk login kembali

Pada Cara Membuat Form Daftar, Login dan Logout dengan PHP MySQL ini digunakan fungsi session dan method POST. Baca juga Fungsi dan Perbedaan Method POST dan GET pada PHP.