Saturday, June 14, 2014

Belajar PHP Pertemuan 12

Membuat Login Multyuser PHP & MySQL
Assalamu’alaikum Wr. Wb.



Salam NewGen, pada pertemuan kali ini kita akan membuat sebuah web sederhana dengan Login Multyuser menggunakan PHP dan MySQL, langkah-langkahnya adalah sebagai berikut !
Pertama kita buat tabel dengan nama tabeluser didalam Database belajar yang sudah kita buat & gunakan pada pertemuan sebelum-sebelumnya, tapi kalian bisa juga buat database yang baru dengan nama bebas. Selanjutnya berinama Field userid (varchar(20)), password(varchar(50)) dan level (varchar(15)) Kemudian Simpan. Tabel user ini  sama dengan tabel di Pertemuan 11 jadi kalian tidak usah membuat lagi. Download Tabel
Selanjutnya kita buat form Loginnya, Buka Dreamweaver kemudian klik file >> New >> Pilih PHP dan Create atau bisa juga kita klik langsung di tampilan awal Dreamweaver pilih di Create New >> Klik PHP
Kemudian design formnya seperti dibawah ini


Propertiesnya seperti dibawah ini





Disimpan dengan nama index.php ke folder baru yang kita buat di C: \ xampp \ htdocs\ PHP disini saya berinama Folder baru dengan nama PHP
Selanjutnya kita buat file log.php... dan simpan di forder yang sama dengan file index.php tadi.
kita pilih File >> New >> Pilih PHP dan Create kemudian ketikan listingnya dibagian Code

log.php
Listing :
<?php
session_start();
mysql_connect("localhost","root","") or die("Nggak bisa koneksi");
mysql_select_db("belajar");//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</a>");
    }
}else if($op=="out"){
    unset($_SESSION['userid']);
    unset($_SESSION['level']);
    header("location:index.php");
}
?>
Disini kita akan membuat login dengan level admin dan user dimana admin bisa ke Halaman 1 dan Halaman 2 sedangkan user bisa ke Halaman 2 dan Halaman 3, alurnya kita bisa lihat seperti gambar berikut!


homeadmin.php
Listing :
<?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>

homeuser.php
Listing :
<?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
Listing :
<?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
Listing :
<?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>

Selesai, kita sudah buat semua file-file php yang kita buthkan, dini kita menggunakan script SESSION yang berfungsi agar file kita dapat terlindungi terhadap user yang tidah berhak membuka jadi kita harus login atau sesuai dengan levelnya, selanjutnya kita bisa lihat hasilnya dengan masukkan alamat address "http://localhost/PHP/index.php" tanpa kutip




Semoga Bermanfaat.. terus berkarya kembangkan lagi jangan sampai disini saja ya..  jika masih kesulitan kalian bisa download source code lengkap & databasenya DISINI

Pada posting berikutnya kita akan menambahkan input nilai dan daftar nilai di web multyuser sederhana kita ini, terus ikutin ya...
Salam NewGen.. 

Wassalamu’alaikum Wr. Wb.

1 comment:

  1. KADANG PENTON HABANERO TO MIND FOR $1K
    KADANG PENTON HABANERO TO MIND FOR $1K This offer is available only in the following areas: Casino gaming, poker, kadangpintar and dining. 바카라사이트 Rating: 5 · ‎3 reviews · ‎Price 1xbet korean range: $1

    ReplyDelete