السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
Apa kabar semuanya ? :D
semoga sehat semua yah, dan masih semangat untuk belajar coding nya heheh ^_^
Pada kesempatan kali in saya tidak akan membahas tutorial mengenai CSS Melainkan PHP dan MySQL.Pada tutorial kali ini saya masih menggunakan PHP Native dan MySQL Sebagai databasenya.
Tutorial yang akan saya bahas disini yaitu Cara Membuat Login Multi User Dengan PHP MySQL
Tutorial ini masih sangat sederhana sehinga sangat mudah di pahami oleh pemula.
keuntungan dari form login ini yaitu dapat mengakses beberapa user atau biasa di sebut multi user,
Baiklah tidak usah berlama-lama lagi, silahkan ikuti langkah-langkah di bawah ini dengan benar.
1. Membuat Database
Silahkan anda buat database di phpmyadmin dengan nama bebas yaitu sesuka anda, namun disini saya membuat database bernama 'web' dan membuat tabel bernama 'tb_login' untuk lebih cepat silahkan buat databse dengan script di bawah ini
-- phpMyAdmin SQL Dump
-- version 4.2.11
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: Oct 02, 2015 at 09:45 AM
-- Server version: 5.6.21
-- PHP Version: 5.6.3
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Database: `web`
--
-- --------------------------------------------------------
--
-- Table structure for table `tb_login`
--
CREATE TABLE IF NOT EXISTS `tb_login` (
`kode_user` int(11) NOT NULL,
`username` varchar(50) NOT NULL,
`password` varchar(50) NOT NULL,
`nama` varchar(50) NOT NULL,
`level` enum('admin','operator') NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
--
-- Dumping data for table `tb_login`
--
INSERT INTO `tb_login` (`kode_user`, `username`, `password`, `nama`, `level`) VALUES
(1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'Chairul Anwar', 'admin'),
(2, 'operator', '4b583376b2767b923c3e1da60d10de59', 'Bayu Setiawan', 'operator');
--
-- Indexes for dumped tables
--
--
-- Indexes for table `tb_login`
--
ALTER TABLE `tb_login`
ADD PRIMARY KEY (`kode_user`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `tb_login`
--
ALTER TABLE `tb_login`
MODIFY `kode_user` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Jika database sudah di buat.
Silahkan ikuti langkah selanjutnya.
2. Membuat koneksi.php
Langkah yang ke 2 yaitu membuat file koneksi.php silahkan ketikkan script berikut ini :
<?php
$host_name = "localhost";
$user_name = "root";
$password = "";
$database = "web"; //sesuaikan dengan database anda
mysql_connect($host_name, $user_name, $password);
mysql_select_db($database);
?>
Silahkan anda tes dengan menjalankan koneksi.php apabila koneksi berhasil, maka layar pada browser akan blank.
Silahkan Ikuti langkah selanjutnya .
3. Membuat Tampilan Form Login
Disini saya membuat tampilan form login di dalam file login.php disini saya tidak terlalu fokus pada tampilan makanya saya buat apa adanya, pada script ini sudah saya lengkapi dengan Restrict Access To Page, artinya jika kita sudah masuk ke halaman index.php maka kita tidak bisa kembali ke halaman ini atau ke halaman login.php, untuk lebih jelasnya.
Silahkan ketikkan script di bawah ini .
<?php
@session_start(); // memulai session
include "connect.php"; // memanggil koneksi
if (@$_SESSION['admin'] || @$_SESSION['operator']) { //apabila session admin ataupun operator sudah ada maka
// langsung menuju kehalaman index.php
header("location: index.php");
//jika tidak ada
} else {
// menuju ke halaman login di bawah ini
?>
<html>
<head>
<title>Login</title>
</head>
<body>
<h1>LOGIN MULTI USER</h1>
<table>
<form action="proses.php" method="post">
<tr>
<td>Username</td>
<td><input type="text" name="user" /></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="pass" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Masuk" name="login" /></td>
</tr>
</form>
</table>
</body>
</html>
<?php
}
?>
coba anda jalankan file login.php maka akan menghasilkan seperti ini
jika sudah menghasilkan gambar seperti diatas silahkan ikuti langkah selanjutnya
2. Membuat Proses.php
ya benar langkah selanjutnya adalah membuat file php bernama proses.php di dalam proses ini saya hanya menggunakan session untuk mengetahui user yang login, untuk lebih jelasnya
Silahkan ketik script di bawah ini
<?php
@session_start(); // memulai session
include "connect.php"; // memanggil koneksi
?>
<?php
$user = @$_POST['user']; // variabel user untuk user
$pass = @$_POST['pass']; // variabel pass untuk pass
$login = @$_POST['login']; // variabel login untuk login
if($login) { // jika login di klik
if($user == "" || $pass == "" ) { // dan jika text user dan pass masih kosong
?>
<!-- muncul peringatan dari javascript -->
<script type="text/javascript">alert("Username atau password masih kosong"); window.location.href="login.php"</script> <?php
}
//jika tidak kosong
else {
// menuliskan query mysql dimana username = '$user' dan password = $ pass yang sudah di beri md5
$sql = mysql_query("select * from tb_login where username = '$user' and password = md5('$pass') ") or die(mysql_error());
//menjadikan data sebagai array
$data = mysql_fetch_array($sql);
//untuk mendapatkan jumlah baris pada database
$cek = mysql_num_rows($sql);
//jika kode user lebih sama dengan 1
if($cek >= 1) {
//dan jika levelnya admin
if($data['level'] == "admin") {
@$_SESSION['admin'] = $data['kode_user'];
// maka menuju ke halaman index.php
header("location: index.php");
//dan jika levelnya operator
} else if($data['level'] == "operator") {
@$_SESSION['operator'] = $data['kode_user'];
// maka menuju ke halaman index.php
header("location: index.php");
}
//jika tidak
}else {
?>
<!-- muncul peringatan kalau login gagal dan langsung kembali ke halaman login.php-->
<script type="text/javascript">alert("Login Gagal ."); window.location.href="login.php"</script> <?php
}
}
}
?>
mohon maaf apabila scriptnya terlihat tidak rapi :D
sebelum anda mencoba script di atas ada baiknya ikuti langkah selanjutnya :D
3.Membuat file index.php
file index disini berfungsi apabila user sudah login dan menuju ke halaman index, halaman index ini di lengkapi dengan cara menampilkan nama si user, dan juga di lengkapi Restrict Access To Page yang artinya sama dengan login.php tadi yaitu si user idak bisa masuk kehalaman index.php apabila belum login, dan apabila sudah login si user tidak bisa keblai kehalaman login.php
untuk lebih jelasnya silahkan anda ketik script berikut ini :
<?php
@session_start(); // memulai session
include "connect.php"; // memanggil koneksi
if(@$_SESSION['admin'] || @$_SESSION['operator']) { // jika sudah ada session admin atau session operator, maka ke halaman index
?>
<?php
if(@$_SESSION['admin']) { //apabila sessionnya admin
$userlogin = @$_SESSION['admin'];
} else if(@$_SESSION['operator']) { //apabila sessionnya admin
$userlogin = @$_SESSION['operator'];
}
// menuliskan query mysql dimana kode_user = $userlogin
// yaitu session pada script di atas
$sql = mysql_query("select * from tb_login where kode_user = '$userlogin'") or die(mysql_error());
//menjadikan data sebagai arrray
$data = mysql_fetch_array($sql);
?>
<!--Menampilkan nama berdasarkan
user yang login atau session-->
<h1>Selamat Datang <?php echo $data['nama']; ?></h1><br />
<!--Menuju halaman logout/keluar-->
<a href="logout.php">Keluar</a>
<?php
}else {
header("location: login.php");
//jika tidak maka kembali ke halaman login.php
}
?>
Coba Anda jalankan script login.php yang sudah kita buat sebelumnya dan coba isikan username dan password 'admin' dan apabila admin yang login maka akan menghasilkan nama dari admin tersebut dan apa bila operator yang login maka nama operatorlah yang akan tertampil silahkan lihat gambar agar lebih jelas .
Nah agar si user bisa logout atau keluar silahkan ikuti langkah selanjutnya
4. Membuat file logout.php
Silahkan anda buat file php bernama logout.php lalu ketikkan script di bawah ini:
<?php
@session_start(); // memulai session
session_destroy(); // menghancurkan session
header("location: login.php"); //kembali ke halaman login.php
?>
silahkan anda coba login dan coba anda klik keluar, maka otomatis akan tampil halaman login lagi :D
selamat anda sudah berhail membuat login multi user :D
untuk penjelasan script sudah saya jadikan sebagai komentar pada script diatas. .
Akhirnya kelar juga nih tutorial hehe ^_^
Demikianlah Cara Membuat Login Multi User Dengan PHP MySQL, mudah bukan ? :D
Silahkan anda kembangkan sesuai kebutuhan anda.
Mungkin itu saja yang dapat saya sampaikan kurang lebihnya mohon maaf :D
Semoga apa yang saya sampaikan disini dapat bermanfaat bagi anda semua :D
Mantab, bermanfaat sekali artikelnya gan, (y)
ReplySaran ane mending jangan di auto refresh gan blognya, apa lagi ini kan blog tutorial.
Replymantab gan, thankss
ReplyLanjut gan :)
ReplyNitip www.parsumbulweb.com
mantap (y)
Replybagus gan chairul,bikin login ternyata mudah ya.nice post
Replybagus artikelnya, sangat bermanfaat....
Replyilmu-computer.com
masih belum paham bahasa pemograman. masih perlu banyak ilmu. btw thanks gan udah share ilmunya :)
Replynice info gann :D
Replyini harus di website yah ?? :D
cara memasukan ke websetnya dimana
ReplyBagus sekali mantap, ternyata ada mastah yansyah jg, xixxi....wwww.slaranesia.com
Replykenapa gagl login trus ya gan ?
Replyane gagal log in
Replygagal login terus gan
ReplyIy Gan,kok gagal login terus.,padahal kan udh btul..,????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
Replyterima kasih gan, artikelnya sangat mudah dipahami, buat yang belum bisa login atauu ada kendala coba download source code website
Replygan, misalnya kalo mau buat masuk ke halaman akun user itu sendiri gmn ya? jadi nama halamannya bukan localhost atau http://.../index.php buat admin/operator, biar buat khusus itu akunnya sendiri localhost atau http://.../(nama user itu) ,,itu gmn ya gan?
Replysangat membantu. tnks
Replyasalamualaikum gan makasih banget turorialnya sangat berguna sekali,nah saya udah sukses buat login nya nah terus mau saya kembangin lagi dengan menambahkan form register nah kalo buat simpen tipe data enumnya ke database gimana ya gan source code ane INSERT INTO tb_login VALUES('$level');
Replykalo mau buat form register, pada formnya di buat pake option select aja mas, jadi nanti si user bisa pilih mau daftar sebagai apa, untuk querynya ya sama aja
Reply("INSERT INTO tb_user VALUES('$level')")
gan, berarti username nama passwordnya apa gan? ane coba di CRUD ane login gagal mulu gan
Replyane dh nyoba username : admin password : admin ttp enggak bisa gan. gmn ya?
ReplyPesan errornya seperti apa ?
Replygan username sama passnya apa? kok ane gagal login terus
ReplyThankyouuuuu banget masssss, dari kemarin nyariin skrip buat login mahasiswa yang form selanjutnya bisa menampilkan nim nya dan buat kepentingan lainnya juga, dgn skrip ini ak bisa develop sesuai harapan :(( makasiiii
Replytutorial legend ni udah lama saya coba dulu ya.
Reply