Skip to main content

multi user dengan php dan mysql

phpdrzpost.com - Saat ini banyak CMS atau juga situs-situs komunitas memiliki multi user, yang mempunyai tingkatan level yang berbeda-beda juga. Misalnya ada level admin, ada level user, yang mempunyai hak akses yang berbeda-beda.
Konsep untuk membuat login multi user adalah :
  1. Buat tabel user di database yang menyimpan data level masing-masing user
  2. Ketika login kita simpan level user yang login ke dalam variabel $_SESSION
  3. Ketika user masuk ke suatu halaman, cek apakah user sudah login dan cek level user tersebut
Sekarang mari kita lihat contoh tabel user di database dan kode PHP-nya. Misal kita punya banyak halaman, di mana halaman-halaman tersebut mempunyai hak akses yang berbeda-beda. Contoh halaman-halaman web yang kita punya :
File / Halaman WebYang Boleh Akses
homeadmin.phpadmin
homeuser.phpuser
halaman1.phpadmin
halaman2.phpadmin dan user
halaman3.phpuser
Berikut adalah struktur tabeluser di database :
– Table structure for table `tabeluser`
CREATE TABLE `tabeluser` (
`userid` varchar(20) NOT NULL,
`password` varchar(50) NOT NULL,
`level` varchar(15) NOT NULL,
PRIMARY KEY (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Pertama-tama mari kita buat halaman untuk login. index.php
<html>
<head><title>Login</title></head>
<body>
<h2>Halaman Login</h2>
<form action=”log.php?op=in” method=”post”>
User ID : <input type=”text” name=”userid”><br>
Password : <input type=”password” name=”psw”><br>
<input type=”submit” value=”Login”>
</form>
</body>
</html>
Pada halaman login di atas terdapat action berupa file log.php
<?php
session_start();
mysql_connect(“localhost”,”root”,””) or die(“Nggak bisa koneksi”);
mysql_select_db(“test”);//sesuaikan dengan nama database anda
$userid = $_POST['userid'];
$psw = $_POST['psw'];
$op = $_GET['op'];
if($op==”in”){
$cek = mysql_query(“SELECT * FROM tabeluser WHERE userid=’$userid’ AND password=’$psw’”);
if(mysql_num_rows($cek)==1){//jika berhasil akan bernilai 1
$c = mysql_fetch_array($cek);
$_SESSION['userid'] = $c['userid'];
$_SESSION['level'] = $c['level'];
if($c['level']==”admin”){
header(“location:homeadmin.php”);
}else if($c['level']==”user”){
header(“location:homeuser.php”);
}
}else{
die(“password salah <a href=\”javascript:history.back()\”>kembali>”);
}
}else if($op==”out”){
unset($_SESSION['userid']);
unset($_SESSION['level']);
header(“location:index.php”);
}
?>
Pada kode log.php tersebut pertama-tama kita cek ke dalam tabeluser apakah ada userid dan password yang cocok. Jika ada maka kita set variabel $_SESSION['userid'] dan $_SESSION['level'], di mana nilai dari variabel session tersebut kita ambil dari database. Jika level user adalah admin maka langsung kita arahkan ke halamanhomeadmin.php. Jika level user adalah user, maka kita arahkan ke halaman homeuser.php
Berikut adalah kode homeadmin.php
<?php
session_start();
//cek apakah user sudah login
if(!isset($_SESSION['userid'])){
die(“Anda belum login”);//jika belum login jangan lanjut..
}
//cek level user
if($_SESSION['level']!=”admin”){
die(“Anda bukan admin”);//jika bukan admin jangan lanjut
}
?>
<html>
<head><title>Halaman Admin</title></head>
<body>
<?php echo “<h3>Welcome “.$_SESSION['userid'].”</h3>”;?>
Menu :
<a href=halaman1.php>Halaman 1</a> |
<a href=halaman2.php>Halaman 2</a> |
<a href=log.php?op=out>Log Out</a>
</body>
</html>
Pada kode di atas untuk mengecek apakah user sudah login atau belum adalah dengan menggunakan kode if(!isset($_SESSION['userid'])), artinya jika user belum login, yang ditandai dengan telah diset-nya variabel $_SESSION['userid']. Jika ternyata belum login maka kita stop sampai disitu dengan menggunakan fungsi die().
Jika user ternyata sudah login maka kita cek tingkatan level user. Kode$_SESSION['level']!=”admin”) berarti jika level tidak sama dengan admin, maka stop ataudie().
Sekarang mari kita lihat kode homeuser.php
<?php
session_start();
//cek apakah user sudah login
if(!isset($_SESSION['userid'])){
die(“Anda belum login”);//jika belum login jangan lanjut..
}
//cek level user
if($_SESSION['level']!=”user”){
die(“Anda bukan user”);//jika bukan user jangan lanjut
}
?>
<html>
<head><title>Halaman User</title></head>
<body>
<?php echo “<h3>Welcome “.$_SESSION['userid'].”</h3>”;?>
Menu :
<a href=halaman2.php>Halaman 2</a> |
<a href=halaman3.php>Halaman 3</a> |
<a href=log.php?op=out>Log Out</a>
</body>
</html>
halaman1.php
<?php
session_start();
//cek apakah user sudah login
if(!isset($_SESSION['userid'])){
die(“Anda belum login”);//jika belum login jangan lanjut..
}
//cek level user
if($_SESSION['level']!=”admin”){
die(“Anda bukan admin”);//jika bukan admin jangan lanjut
}
?>
<html>
<head><title>Halaman Admin</title></head>
<body>
<?php echo “<h3>Welcome “.$_SESSION['userid'].”</h3>”;?>
<h4>Ini Halaman 1</h4>
</body>
</html>
halaman2.php
<?php
session_start();
//cek apakah user sudah login
if(!isset($_SESSION['userid'])){
die(“Anda belum login”);//jika belum login jangan lanjut..
}
//cek level user
if($_SESSION['level']!=”admin” && $_SESSION['level']!=”user”){
die(“Anda bukan admin”);//jika bukan admin dan user jangan lanjut
}
?>
<html>
<head><title>Halaman Admin dan User</title></head>
<body>
<?php echo “<h3>Welcome “.$_SESSION['userid'].”</h3>”;?>
<h4>Ini Halaman 2</h4>
</body>
</html>
halaman3.php
<?php
session_start();
//cek apakah user sudah login
if(!isset($_SESSION['userid'])){
die(“Anda belum login”);//jika belum login jangan lanjut..
}
//cek level user
if($_SESSION['level']!=”user”){
die(“Anda bukan user”);//jika bukan user jangan lanjut
}
?>
<html>
<head><title>Halaman User</title></head>
<body>
<?php echo “<h3>Welcome “.$_SESSION['userid'].”</h3>”;?>
<h4>Ini Halaman 3</h4>
</body>
</html>

Comments

Popular posts from this blog

Membuat topologi jaringan menggunakan routing static dengan cisco packet tracer

  Apa yang dimaksud routing static ? Static Routing atau Routing statis adalah sebuah router yang memiliki tabel routing statik yang di setting secara manual oleh para administrator jaringan. Routing static merupakan pengaturan paling sederhana dalam suatu jaringan komputer. Nah, disini kita akan belajar contoh penggunaan dari routing static tersebut. Contohnya seperti yang akan kita lakukan dibawah, selamat belajarr :) Buka aplikasi cisco packet tracer kemudian kita letakkan 2 router, 2 switch dan terdapat 2 PC pada masing-masing router. Pada gambar dibawah, hubungkan PC dengan Switch dan Router dengan Switch. Untuk menghubungkan Router dengan Router kita menggunakan kabel Cross. Pada gambar dibawah terdapat beberapa kab e l untuk menghubungkan sebuah jaringan yang bisa dilihat di cisco packet tracer. Namun untuk menghubungkan perangkat yang berbeda device, contohnya seperti PC dan Switch digunakan kabel Straight, namun jika perangkat sama seperti Router dengan router maka digunakan k

Tipe-Tipe Cewek Berdasarkan Lama Balas Di Chat WA

Cewek atau wanita adalah makhluk Tuhan paling rumit untuk dimengerti dan paling sulit untuk ditebak apa yang ada pada fikirannya . Makhluk yang memiliki slogan “ Cewek Selalu Benar dan Cowok Selalu Salah “  dari sebagian cewek itu adalah salah tapi sebagian besar cewek percaya dengan slogan itu yang membuat nya lebih percaya diri untuk menghukum lawan jenis atau cowok yang sedang memiliki hubungan asmara atau pun tidak tapi setidaknya slogan itu sebagai tameng atau penghalang terbaik untuk wanita agar bebas dari jerat seorang lelaki. Berikutnya slogan “ Cewek itu Rumit “ .. iya kan bener itu . Menurut penulis itu memang benar sampai ada meme yang bertuliskan bahwa trik atau tips untuk mengertiin wanita adalah seperti kamus inggiis-indonesia yang 3 miliar kata .. tebal banget dan panjang banget ..iya kan cewek seperti iitu .. hehehe yang cewek saya minta map ya  :D :D Oke kita bahas tipe cewek berdasarkan lama bales chat nya kepada kita .. ayooo capcussss.. !!! 1.