Membuat Form Login Dengan PHP dan MySQL
![membuat login dengan php dan mysql](https://www.malasngoding.com/wp-content/uploads/2016/01/membuat-login-dengan-php-dan-mysql.png)
Terlebih dahulu buatlah database, dalam contoh ini saya menggunakan phpMyAdmin.
1. Buat database dengan nama latihan.
2. Buat tabel dengan nama User dan isikan 3 untuk jumlah kolom yang akan dibuat.
2. Buat tabel dengan nama User dan isikan 3 untuk jumlah kolom yang akan dibuat.
3. Kemudian isikan ke 3 kolom yang telah dibuat tadi seperti berikut :
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
1. Sebelum ke pembuatan form daftar dan login saya minta untuk membuat file
koneksi.php
untuk menghubungkan ke database, dengan kode dibawah ini. Pilih salah satumysql_connect
<?php $hostname = "localhost"; $username = "root"; $password = ""; $dbname = "latihan"; $db = mysql_connect($hostname, $username, $password) or die ('Koneksi Gagal! '); mysql_select_db($dbname); ?>
mysqli
<?php
$hostname = "localhost";
$username = "root";
$password = "";
$dbname = "latihan";
$db = new mysqli($hostname, $username, $password, $dbname);
?>
<?php $hostname = "localhost"; $username = "root"; $password = ""; $dbname = "latihan"; $db = new mysqli($hostname, $username, $password, $dbname); ?>
PDO
<?php $hostname = "localhost"; $username = "root"; $password = ""; $dbname = "latihan"; $db = new PDO('mysql:dbname='.$dbname.';host='.$hostname, $username, $password); ?>
2. Lalu 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']; } ?> <title>Halaman Sukses Login</title> <div align='center'> Selamat Datang, <b><?php echo $username;?></b> <a href="logout.php"><b>Logout</b></a> </div>
3. Buatlah file dengan nama
daftar.php
dan isikan dengan code dibawah ini.<?phpsession_start(); if(isset($_SESSION['username'])) { header('location:index.php'); } ?> <title>Form Pendaftaran</title> <div align='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 value="Daftar" type="submit"> <input value="Batal" type="reset"></td></tr> <tr><td colspan="2" align="center">Sudah Punya akun ? <a href="login.php"><b>Login</b></a></td></tr> </tbody> </table> </form> </div>
4. Sekarang buat file
prosesdaftar.php
untuk melakukan proses yang diminta pada file daftar.php. Pilih salah satu.<?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 "<div align='center'>Username Sudah Terdaftar! <a href='daftar.php'>Back</a></div>"; } else { if(!$username || !$pass) { echo "<div align='center'>Masih ada data yang kosong! <a href='daftar.php'>Back</a>"; } else { $simpan = mysql_query("INSERT INTO user(username, password) VALUES('$username','$pass')"); if($simpan) { echo "<div align='center'>Pendaftaran Sukses, Silahkan <a href='login.php'>Login</a></div>"; } else { echo "<div align='center'>Proses Gagal!</div>"; } } } ?>
mysql_connect
<?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 "<div align='center'>Username Sudah Terdaftar! <a href='daftar.php'>Back</a></div>"; } else { if(!$username || !$pass) { echo "<div align='center'>Masih ada data yang kosong! <a href='daftar.php'>Back</a>"; } else { $simpan = mysql_query("INSERT INTO user(username, password) VALUES('$username','$pass')"); if($simpan) { echo "<div align='center'>Pendaftaran Sukses, Silahkan <a href='login.php'>Login</a></div>"; } else { echo "<div align='center'>Proses Gagal!</div>"; } } } ?>
mysqli
<?php require_once("koneksi.php"); $username = $_POST['username']; $pass = $_POST['password']; $sql = "SELECT * FROM user WHERE username = '$username'"; $query = $db->query($sql); if($query->num_rows != 0) { echo "<div align='center'>Username Sudah Terdaftar! <a href='daftar.php'>Back</a></div>"; } else { if(!$username || !$pass) { echo "<div align='center'>Masih ada data yang kosong! <a href='daftar.php'>Back</a>"; } else { $data = "INSERT INTO user VALUES (NULL, '$username', '$pass')"; $simpan = $db->query($data); if($simpan) { echo "<div align='center'>Pendaftaran Sukses, Silahkan <a href='login.php'>Login</a></div>"; } else { echo "<div align='center'>Proses Gagal!</div>"; } } } ?>
PDO
<?php require_once("koneksi.php"); $username = $_POST['username']; $pass = $_POST['password']; $query = $db->prepare("SELECT * FROM user WHERE username = ?"); $query->execute(array($username)); if($query->rowCount() != 0) { echo "<div align='center'>Username Sudah Terdaftar! <a href='daftar.php'>Back</a></div>"; } else { if(!$username || !$pass) { echo "<div align='center'>Masih ada data yang kosong! <a href='daftar.php'>Back</a>"; } else { $sql = $db->prepare("INSERT INTO user (username, password) VALUES (?, ?)"); $simpan = $sql->execute(array($username, $pass)); if($simpan) { echo "<div align='center'>Pendaftaran Sukses, Silahkan <a href='login.php'>Login</a></div>"; } else { echo "<div align='center'>Proses Gagal!</div>"; } } } ?>
5. Selanjutnya adalah membuat file
login.php
dengan kode dibawah.<?php session_start(); if(isset($_SESSION['username'])) { header('location:index.php'); } require_once("koneksi.php"); ?> <title>Form Login</title> <div align='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 value="Login" type="submit"> <input value="Batal" type="reset"></td></tr> <tr><td colspan="2" align="center">Belum Punya akun ? <a href="daftar.php"><b>Daftar</b></a></td></tr> </tbody> </table> </form> </div>
6. Agar file login dapat berjalan buatlah file
proseslogin.php
dengan kode dibawah. Pilih salah satu.<?php session_start(); require_once("koneksi.php"); $username = $_POST['username']; $pass = $_POST['password']; $cekuser = mysql_query("SELECT * FROM user WHERE username = '$username'"); $hasil = mysql_fetch_array($cekuser); if(mysql_num_rows($cekuser) == 0) { echo "<div align='center'>Username Belum Terdaftar! <a href='login.php'>Back</a></div>"; } else { if($pass <> $hasil['password']) { echo "<div align='center'>Password salah! <a href='login.php'>Back</a></div>"; } else { $_SESSION['username'] = $hasil['username']; header('location:index.php'); } } ?>
mysql_connect
<?php session_start(); require_once("koneksi.php"); $username = $_POST['username']; $pass = $_POST['password']; $sql = "SELECT * FROM user WHERE username = '$username'"; $query = $db->query($sql); $hasil = $query->fetch_assoc(); if($query->num_rows == 0) { echo "<div align='center'>Username Belum Terdaftar! <a href='login.php'>Back</a></div>"; } else { if($pass <> $hasil['password']) { echo "<div align='center'>Password salah! <a href='login.php'>Back</a></div>"; } else { $_SESSION['username'] = $hasil['username']; header('location:index.php'); } } ?>
mysqli
<?php session_start(); require_once("koneksi.php"); $username = $_POST['username']; $pass = $_POST['password']; $sql = "SELECT * FROM user WHERE username = '$username'"; $query = $db->query($sql); $hasil = $query->fetch_assoc(); if($query->num_rows == 0) { echo "<div align='center'>Username Belum Terdaftar! <a href='login.php'>Back</a></div>"; } else { if($pass <> $hasil['password']) { echo "<div align='center'>Password salah! <a href='login.php'>Back</a></div>"; } else { $_SESSION['username'] = $hasil['username']; header('location:index.php'); } } ?>
PDO
<?php session_start(); require_once("koneksi.php"); $username = $_POST['username']; $pass = $_POST['password']; $query = $db->prepare("SELECT * FROM user WHERE username = ?"); $query->execute(array($username)); $hasil = $query->fetch(); if($query->rowCount() == 0) { echo "<div align='center'>Username Belum Terdaftar! <a href='login.php'>Back</a></div>"; } else { if($pass <> $hasil['password']) { echo "<div align='center'>Password salah! <a href='login.php'>Back</a></div>"; } else { $_SESSION['username'] = $hasil['username']; header('location:index.php'); } } ?>
7. Dan yang terakhir adalah membuat file
logout.php
untuk menghapus session yang telah digunakan, isi dengan kode dibawah.<?php session_start(); session_destroy(); ?> <div align="center"> <h2>Anda telah berhasil logout..</h2> Silahkan klik <a href="login.php">disini</a> untuk login kembali </div>
Selamat mencoba.
Tidak ada komentar:
Posting Komentar