Tuesday, March 13, 2012

Membuat sistem login multi user dengan penggunaan sessions dalam php

Assalamu alaikum wr. wb...?

Pada kesempatan kali ini saya akan mencoba kembali menulis tutorial mengenai PHP, dan kali ini yang akan kita bahas adalah bagaimana caranya membuat sistem login multi user dalam penggunaan SESSIONS yang tersimpan.

Mungkin masih ada yang bertanya, Apa itu Sessions...? Pengertian menurut saya mengenai Sessions adalah informasi Website yang tersimpan di Server yang terkait dengan Browser yang kita gunakan, dan sessions ini banyak di gunakan dalam proses Login dan Logout pada Applikasi Website.


Lalu informasi seperti apakah yang tersimpan itu...? 
Tergantung dari si pembuat applikasi tersebut, informasi seperti apakah yang ingin di simpan nya, dan biasanya ini di gunakan untuk menyimpan informasi username, kata sandi dan informasi-informasi lain yang di perlukanya untuk mengakses website tersebut.

Langsung menuju praktek nya...!
Dalam contoh ini saya akan membuat sebuah applikasi website yang memiliki 3 golongan user dengan hak akses yang berbeda untuk login ke website tersebut, dan satu di antaranya memiliki akses sebagai Admin website.

Mari kita buat sebuah database nya terlebih dahulu, misalkan bernama login_user



Setelah database baru bernama login_user di buat, kemudian buatlah  sebuah table pada database tersebut, misalkan bernama tab_user dan nama-nama kolom nya adalah user_id, username, password, user_nama, dan user_akses.

Silahkan gunakan phpMyAdmin untuk membuat nya, dan jangan lupa untuk kolom user_id gunakan sebagai INDEXS database dengan jenis PRIMARY, dan jenis kolom nya dibuat INT dengan penerapan AUTO_INCREMENT supaya nomor urut nya otomatis pada saat menambahkan user baru.

Untuk membedakan hak akses user...!
Pada kolom user_akses dibuat dengan type ENUM  dengan isian nilainya misalkan "gratis","premium","admin" hal ini dimaksudkan untuk membedakan hak akses user tersebut saat login ke website, dan nantinya akan kita simpan pada sessions.

Jika masih bingung dengan pembuatan table database di atas, silahkan copy kan struktur table database di bawah ini, kemudian paste pada database bernama login_user yang telah anda buat pada phpMyAdmin.


Untuk phpMyAdmin dengan InnoDB:
--
-- Struktur dari tabel `tab_user`
--

CREATE TABLE IF NOT EXISTS `tab_user` (
  `user_id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) NOT NULL,
  `password` varchar(50) NOT NULL,
  `user_nama` varchar(50) NOT NULL,
  `user_akses` enum('gratis','premium','admin') NOT NULL DEFAULT 'gratis',
  UNIQUE KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


Untuk phpMyAdmin Dengan MyISAM:
--
-- Table structure for table `tab_user`
--
CREATE TABLE `tab_user` (
  `user_id` int(11) NOT NULL auto_increment,
  `username` varchar(50) collate latin1_general_ci NOT NULL,
  `password` varchar(50) collate latin1_general_ci NOT NULL,
  `user_nama` varchar(50) collate latin1_general_ci NOT NULL,
  `user_akses` enum('gratis','premium','admin') collate latin1_general_ci NOT NULL default 'gratis',
  PRIMARY KEY  (`user_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1;



Kemudian setelah selesai membuat struktur database dan kolom-kolom nya, insert kan beberapa contoh user pada database tersebut, misalkan seperti contoh di bawah ini:


user_id username password user_nama user_akses
1 andi 1234 Andi Doang gratis
2 toto 1234 Toto Kuncoro premium
3 calim 1234 Calim Weh admin
4 widia 1234 Widia Yatin gratis


Jika masih bingung untuk membuat contoh user nya, silahkan masukan 4 data user di bawah ini kepada struktur tabel tab_user yang telah di buat:


--
-- Dumping data untuk tabel `tab_user`
--

INSERT INTO `tab_user` (`user_id`, `username`, `password`, `user_nama`, `user_akses`) VALUES
(1, 'andi', '1234', 'Andi Doang', 'gratis'),
(2, 'toto', '1234', 'Toto Kuncoro', 'premium'),
(3, 'calim', '1234', 'Calim Weh', 'admin'),
(4, 'widia', '1234', 'Widia Yatin', 'gratis');


Sekarang kita saat nya membuat script php untuk table 'tab_user' yang telah di buat pada database tersebut, dimulai dari pertama user login menggunakan form login, dan proses penyimpanan sessions apabila user tersebut memiliki akses dan sudah ada pada database tersebut.

Untuk pembuatan applikasi nya, pertama-tama buatlah sebuah script PHP sebagai koneksi ke MYSQL terlebih dahulu, yang nantinya akan kita include kan ke script php untuk pemrosesan login user, kurang lebih seperti ini :


koneksi.php

<?php
$server = "localhost";
$username = "root";
$password = "passwordya";
$database = "login_user";

// Koneksi dan memilih database di server
mysql_connect($server,$username,$password) or die("Koneksi gagal");
mysql_select_db($database) or die("Database tidak bisa dibuka");
?>

Kemudian buat lah sebuah formulir untuk login user nya, misalkan pada form.php

<form name='login' action='proses.php' method='post'>
<table>
<tr>
<td>Username</td>
<td>:</td>
<td><input type='text' name='username' value='username' /></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input type='password' name='password' value='password' /></td>
</tr>
</table>
<input type='submit' name='submit' value="Login!" />
</form>   

Script form PHP di atas di include kan pada file index.php.
Apabila seorang user akan login dengan mengisi form pada form.php di atas, maka akan di proses oleh script proses.php seperti ini :


proses.php

<?php
    include "koneksi.php";
    $username = $_POST['username'];
    $password = $_POST['password'];
   
    $login = mysql_query("SELECT * FROM tab_user WHERE username='$username' AND password='$password'");
    $hasil = mysql_num_rows($login);
    $r = mysql_fetch_array($login);
   
    if ($hasil > 0)
    {
      session_start();
      session_register("user_id");
      session_register("username");
      session_register("password");
      session_register("user_akses");
      $_SESSION[user_id]     = $r[user_id];
      $_SESSION[username]     = $r[username];
      $_SESSION[password]     = $r[password];
      $_SESSION[user_akses]    = $r[user_akses];
      header('location:index.php');
    }
    else{ echo "LOGIN GAGAL! <br> <a href='index.php'><< Kembali</a>"; }
?>

Proses di atas, jika user terdapat pada database, maka akan menyimpan 4 sessions yaitu user_id, username, password, dan user_akses. kemudian mengarah kanya kepada script index.php dan jika user tidak ada pada database, maka akan menghasil kan string LOGIN GAGAL!

Coba anda perhatikan SESSIONS yang di register pada script di atas, bahwa kolom user_nama tidak di register kan pada sessions, padahal kolom user_nama di buat pada database di atas...! Sengaja saya buat demikian, karena untuk pembuatan applikasi website tentunya memerlukan detail user yang lebih lengkap, seperti alamat user, email user, nomor hp dan sebagai nya, dan jika kita register kan semua pada sessions, maka proses exsekusi script akan menjadi tambah berat untuk loading data nya.

Untuk menghindari kekurangan di atas, maka di gunakan query_mysql untuk memproses pengambilan data-data yang lain pada database, seperti user_nama, dan data-data user lainya apabila ada dan di perlukan untuk applikasi tersebut, lihat pada script index.php.

index.php

<?php
session_start();
include "koneksi.php";
error_reporting(0);

if (empty($_SESSION['username']) AND empty($_SESSION['password'])){include "form.php";}
else{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Login Multi User!</title>
</head>
<body>

<?php
$sql = mysql_query("SELECT * FROM tab_user WHERE user_id = '$_SESSION[user_id]'");
while ($data = mysql_fetch_array($sql))
{
 $user_nama = $data['user_nama'];
}
?>
<h2>Selamat Datang <?php echo "$user_nama"; ?>!</h2>
<?php
if ($_SESSION[user_akses] == "gratis") { echo "Kamu login sebagai user Gratis! <a href='logout.php' title='Keluar!'>Keluar</a>"; }
if ($_SESSION[user_akses] == "premium"){echo "Kamu login sebagai user Premium! <a href='logout.php' title='Keluar!'>Keluar</a>";}
if ($_SESSION[user_akses] == "admin"){echo "Kamu login sebagai user Admin! <a href='logout.php' title='Keluar!'>Keluar</a>";}
if ($_SESSION[user_akses] == ""){echo "Kamu tidak memiliki akses kesini!";}
?>

</body>
</html>
<?php } ?>

Untuk menghapus SESSIONS yang tersimpan gunakan fungsi perintah  session_destroy() Lihat pada script logout.php di bawah ini:

logout.php
<?php
  session_start();
  session_destroy();
  echo "<script>document.write('Kamu sudah keluar dari halaman member!'); window.location = 'index.php'</script>";
?>

Jika anda masih bingung dengan tutorilal di atas, silahkan Download Script Contoh Sistem Login Multi User yang sudah saya buat, dan jangan lupa komentar anda...!

IKLAN



Ikuti di Google+




Komentar di Facebook:

Jika ingin bertanya, silahkan gunakan Form komentar yg paling bawah selain komentar di Facebook ini, karena tidak setiap saat sy monitor trus di Facebook. Thank's

77 komentar:

  1. ane dah keliling blog ente omz,,, i like u'r blog!!!

    kbetualan ane lgi ada tugas, ane bole req gk omz,,
    aplikasi website sistem pakar kerusakan pada motor..
    dmna ada admin & user...

    ane tunggu ya omz ,,,thanks
    ery.zero@yahoo.com

    ReplyDelete
  2. Th3'MZ CybeR >> Tutor di atas it memang buat applikasi web yang di dalam nya memiliki beberapa user, yang setiap user memiliki hak akses yang berbeda2 setelah login ke admin panel nya, terserah... mau di jadikan apa, User apa Admin...

    Trus klo untuk Request mas Th3'MZ CybeR, tentang (Aplikasi website sistem pakar kerusakan pada motor) metode di atas itu memang cocok di jadikan panduan untuk pembuatan applikasi tersebut.

    Terimakasih sudah mengunjungi blog sy........!

    ReplyDelete
  3. Mas kok error ia...

    Warning: session_register() [function.session-register]: Cannot send session cache limiter - headers already sent (output started at C:\Program Files\xampp\htdocs\multiuser\proses.php:1) in C:\Program Files\xampp\htdocs\multiuser\proses.php on line 13

    Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\xampp\htdocs\multiuser\proses.php:1) in C:\Program Files\xampp\htdocs\multiuser\proses.php on line 21

    dah di otak atik tetep aja gitu...
    solusi nya dunk mas...

    makasih sebelumnya..

    ReplyDelete
  4. animashie >> Maf, baru baca koment nya... Kalo untuk sample kode yg di Download, udah sy cek,, N ternyata Error nya di bagian proses.php ada spasi di atas kode :

    ...[spasi disini]... <?php kode ?>

    spasi nya di hapus saja, atau kode nya di rapatkan saja ke atas...! hal yang kecil berakibat Fatal, karena di dalam nya terdapat Fungsi session_start();


    Link Download Update Script:
    [1] http://adf.ly/AeXXs
    [2] http://www.ziddu.com/download/19902757/multiuser_update.zip.html
    (Pilih salah satu nya)


    Maf sebelum nya, N thank's sudah ngasih tau saya, smoga membantu...

    ReplyDelete
  5. Nice sager mas ,
    Mau nanya mas ?? Bukannya sessions itu tersimpan diServer mas yang tersimpan di Browser itu bukannya cookies .. itu menurut yg saya baca2 mas :) Benar 0r salah ya mas .. !! mohon npencerahannya :)

    ReplyDelete
  6. To Fikiwan >> Sebelum nya terimakasih mas sudah baca artikel nya yg merinci, itu yg sy harapkan.... ya, memang betul mas, Sessions itu tersimpan di server, sedangkan yg tersimpan di browser it adalah Cookie,, Agar tidak ada kesalahan, nanti akan sy Update artikel nya. Thank's.

    ReplyDelete
  7. mas begini lowh, saya membuat sebuah form dan isi e menggunakan bnyak tombol link, dan saya ingin tombol link itu hnya bsa di klik oleh admin saja tapi user tidak, bagaimana caranya ya? mohon bantuannya makasih sbelumnya

    ReplyDelete
  8. Scout >> Buat sistem login seperti metode di atas, kemudian buat tombol pada form nya seperti ini, contoh nya :

    <form name="namaform" action="actiontujuan" method="post">

    <input type="text" name="isidata"><br>

    <input type='submit' name='submit' <?php if ($_SESSION[user_akses] == "admin")

    {echo "disabled='no'";}else{echo "disabled='disabled'";} ?> value='Tombol Disini'>

    </form>

    Kalo bs jelaskan form nya buat apa? mudah2an saya bs buatkan contoh nya...

    Thank's atas kunjungan nya.

    ReplyDelete
  9. saya masih bingung.
    oh iya mohon bantuannya,saya sedang mengerjakan tugas akhir website tentang kesehatan gigi. tapi pas pad bagian ruang lingkup bab 1,dosen pembimbing saya suruh tambahkan yang ada pd back-end, yakni yang ada diruang admin.maksudnya apa ya?terimakasih sebelumnya....mohon bantuannya.....

    ReplyDelete
  10. Juli >> Maf jul sy blm paham pertanyaan nya, barangkali yg di maksud back-end(Kembali Berakhir) itu untuk proses logout nya...?!

    session_destroy();

    Silahkan minta di perjelas sj sm dosen nya, atau mungkin bs tanya sm yg lebih berpengalaman......

    ReplyDelete
  11. kok masih error yah
    Fatal error: Call to undefined function SESSION_REGISTER() in C:\xampp\htdocs\multiuser\proses.php on line 13,,
    tolong d bantu ya..

    ReplyDelete
    Replies
    1. Pastikan Fungsi Sessions di aktifkan pada server nya, periksa file ( php.ini ) pada file konfigurasi php nya, kalo menggunakan XAMPP ada pada C:\xampp\php\php.ini

      Kemudian pastikan sebelum baris dibawah ini tidak ada tanda titik koma (;)

      [Session]
      session.save_handler = files
      session.save_path ="D:\LocalServer/Temp"
      session.use_cookies = 1
      session.name = PHPSESSID
      session.auto_start = 0
      session.cookie_lifetime = 0
      session.cookie_path = /
      session.cookie_domain =
      session.serialize_handler = php
      session.gc_probability = 1
      session.gc_divisor = 100
      session.gc_maxlifetime = 1440
      session.bug_compat_42 = 1
      session.bug_compat_warn = 1
      session.referer_check =
      session.entropy_length = 0
      session.entropy_file =
      session.cache_limiter = nocache
      session.cache_expire = 180
      session.use_trans_sid = 0
      session.hash_function = 0
      session.hash_bits_per_character = 4
      url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="

      Jika itu sudah benar dan masih tetap Error, coba hilangkan perintah ( session_start(); ) pada file ( proses.php ) pada applikasi sistem login di atas, kemudian coba kembali.

      PENTING!
      Dan yang paling penting untuk menjalankan Sessions pada php, jangan sampai ada output html sebelum perintah ( session_start(); ) walaupun hanya sekedar Spasi saja.

      Coba di cek kembali file ( proses.php ) pastikan tidak ada Spasi sebelum kode <?php

      Thank's

      Delete
    2. masalahnya sama
      dah d coba solusinya tapi tetep error

      Delete
    3. Coba hilangkan aj bag ini:

      session_register("user_id");
      session_register("username");
      session_register("password");
      session_register("user_akses");

      Maf br bs bls.

      Delete
  12. om kan itu ada 4 jenis akun nya... nah pasti kan setiap jenis akun nya lain2 halaman nya misal di login akun admin tampilan nya halaman admin, untuk akun premium tampilan nya halaman user dengan sedikit fitur yang lebih,.. dan lain nya... nah bagaimana cara mengarahkan nya biar ke halaman sesuai dengan jenis akun nya, lalu bagaimana cara nya halaman yang bukan halaman si yang punya akun tidak dapat di akses misal saya login user free, tidak bisa akses ke halaman user premium,
    pertanyaan bonus ni om, ane masih bingung session login facebook,.. kan klw kita belum login facebook kita berada di domain facebook.com dan setelah kita login kita juga berada di domain yang sama, namun tampilan nya beda... tolong di jelaskan donk om... mohon kirim link artikel penjelasan nya ke email saya fernan.situmorang@gmail.com

    terimakasi om saya lagi belajar PHP ni om mohon bantuan nya, dan mohon maaf kalau merepotkan semoga sukses om

    ReplyDelete
    Replies
    1. Dalam script di atas sudah dijelaskan bahwa setiap akun memiliki akses yg berbeda2, jadi klo kita login dengan user_akses gratis, maka kita akan diarahkan ke halaman user gratis

      Coba perhatikan script sederhana yg terdapat pada tutor diatas:

      if ($_SESSION[user_akses] == "gratis") { }
      if ($_SESSION[user_akses] == "premium"){ }
      if ($_SESSION[user_akses] == "admin"){ }

      Anda juga bisa menjadikanya seperti ini, agar tertuju ke satu sessions saja, dengan menambahkan else if:

      if ($_SESSION[user_akses] == "gratis") { }
      elseif ($_SESSION[user_akses] == "premium"){ }
      elseif ($_SESSION[user_akses] == "admin"){ }

      Contoh dengan metode nya seperti ini:

      //jika sessions username dan password kosong maka perlihatkan form login
      if(empty($_SESSION['username']) AND empty($_SESSION['password'])){
      //sesuaikan halaman Form login disini
      }
      //jika sessions username dan password ada maka sesuaikan halamanya
      else{
      if($_SESSION[user_akses] == "gratis"){
      //sesuaikan halaman user GRATIS disini, misalhkan include "gratis.php";
      }
      elseif($_SESSION[user_akses] == "premium"){ //sesuaikan halaman user PREMIUM disini.
      }
      elseif($_SESSION[user_akses] == "admin"){
      //sesuaikan halaman user ADMIN disini.
      }
      }

      Sedangkan untuk penyesuaian halamanya, seperti ini contohnya, misalkan untuk halaman gratis:

      if($_SESSION[user_akses] == "gratis"){
      //sesuaikan halaman user GRATIS disini
      echo "
      <html>
      <head><title>Judul halaman</title></head>
      <body>
      Sesuaikan halaman, ambil dari database dengan acuan username seperti nama, alamat, photo, data teman, dll...
      </body>
      </html>
      ";
      }
      else{
      //sesuaikan halaman peringatan tidak memiliki akses kesini
      }

      Untuk lebih mudah dalam pembuatanya, buat script php nya secara terpisah didalam satu file php, halaman user_akses gratis diatas hanyalah contoh saja...

      Sedangkan untuk halaman facebook, metode nya juga seperti di atas, hanya saja facebook menggunakan cookie, silahkan membacanya disini:

      http://www.tutorialwebgratis.com/2012/12/membuat-sistem-login-multi-user-menggunakan-cookie.html

      Jika masih kurang jelas, silahkan isi komentarnya kembali...

      Thank's

      Delete
  13. Mas,
    saya dapat tugas dari kantor untuk bikin program kecil,
    karena usernya banyak dengan banyak level beserta role nya,
    apa mas punya contoh program yang ketika user biasa login, tampilan halaman dia hanya nongol menu program/link web yang sudah kita tentukan di database, menu dinamis lah.
    trus 1 lg, misal dalam halaman master barang, tombol add, edit, delete, view bisa kita atur enable dan disable sesuai role usernya dan lagi-lagi diambil dari database.
    mohon maaf jika banyak tanya dan terima kasih

    superherix@gmail.com

    ReplyDelete
    Replies
    1. Metode diatas bisa dijadikan sebagai panduan untuk membuat program seperti itu,, kalo memang dibutuhkan banyak berbagai hak akses/level terhadap user2 ke database, tinggal tambahkan saja field baru pada table user_akses, misalnya userbiasa, dll:

      enum('gratis','premium','admin','userbiasa')

      Sedangkan untuk jumlah usernya bs ribuan atau lebih, bebas...

      Disinilah gunanya membuat perbedaan hak akses setiap user, bisa juga digunakan untuk membuat perbedaan halaman, menu halaman, mendisable dan enable tombol, dll...

      Contoh tombol Hapus, dan hanya user admin saja yg boleh menggunakanya:

      <input type="submit" name="hapus" value="Hapus" disabled="<?php if($_SESSION[user_akses] == "admin"){ echo "no"; }else{ echo "disabled"; }?>" />

      Penggunaanya: untuk akses user lainya sebaiknya hilangkan saja tombol hapus ini beserta pemrosesanya, dan hanya admin saja yg boleh menggunakannya.

      Untuk membuatkan contohnya, sy harus meluangkan waktu untuk membuatnya, mungkin mas Ad bs ingatkan sy nanti....

      Thank's

      Delete
    2. Thanks mas,
      responnya cepet,
      saya coba-coba dulu.

      Delete
    3. iya mas seperti itu ada tidak buat tugas ane ??

      kalau ada kirim ke email saya Tegarkurniawan145@gmail.com

      maaf ya mas ngerepotin :D

      Delete
  14. pak,gimana pas kita login di pake list/menu pas list/menuya ada mahasiswa dan dosen ,pas kita masuk dosen jdi ntrya ada peringaan maap dosen tidak dikenal,gimanah tuk pak

    ReplyDelete
    Replies
    1. Silahkan perhatikan script pada bagian ini:

      if($_SESSION[user_akses] == ""){echo "Kamu tidak memiliki akses kesini!";}

      Pengertianya:
      Jika sessions user_akses kosong, maka user akan diarahkan ke halaman peringatan: Kamu tidak memiliki akses kesini!


      Jadi konsep nya sama saja Junz...

      Contohnya:
      Buat dua hak akses berbeda, misalkan akses dosen, dan mahasiswa:

      enum('dosen','mahasiswa')

      Kemudian buat semua user bisa login, setelah login, misalkan dihadapkan ke sebuah halaman, yg mana ada menu pilihan dosen dan mahasiswa:

      <select name="menu">
      <option value="" selected="selected">Menu Pilihan</option>
      <option value="dosen" onClick="<? if($_SESSION[user_akses]=="dosen"){echo"window.location='lokasi-halaman-dosen';";}else{echo "alert('Anda tidak memiliki akses kesini');";} ?>">Dosen</option>
      <option value="mahasiswa" onClick="<? if($_SESSION[user_akses]=="mahasiswa"){echo"window.location='lokasi-halaman-mahasiswa';";}else{echo "alert('Anda tidak memiliki akses kesini');";} ?>">Mahasiswa</option>
      </select>

      Smoga ga slh pengertian, thank's...

      Delete
  15. Gan, ko ga bisa login malah keluar kaya gini :
    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\ayo\proses.php on line 7

    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\ayo\proses.php on line 8
    LOGIN GAGAL!
    << Kembali

    ReplyDelete
    Replies
    1. Coba gunakan selain xampp gan... bs dengan appserv atau lainya... atau upload ke hosting untuk mencoba nya, dan jngn lupa untuk hosting yg gratisan tambahkan perintah <? exit; ?> di akhir baris kode pada script index.php dan proses.php

      Thank's

      Delete
  16. pak form pada web bisa ga eksport atau import file dari excel???
    makasi

    ReplyDelete
    Replies
    1. caranya gmn t import dan export file excel d web, trus file excel it bsa d edit di web...
      mhon pncerahannya

      Delete
  17. Mau nanya pak, saya punya kasus dimana id login masing-masing user ini punya batasan karakter misal : login siswa 6 karakter, login guru 4 karakter dan kepala sekolah 3 karakter dan halaman utamanya saya bikin 1 saja dengan pilihan menu yang berbeda untuk setiap levelnya, gimana cara bikinnya pak ... Makasi

    ReplyDelete
    Replies
    1. //Ini hanya contoh saja,,
      //Untuk batasan Karakter
      $username = strlen($_POST['username']);
      if($username == 4){
      //Proses disini untuk yg 4 karakter....
      }

      //Untuk menu halaman setelah login, Contoh: index.php?halaman=guru
      if($_GET['halaman'] == "siswa"){include "halamansiswa.php";}
      elseif($_GET['halaman'] == "guru"){include "halamanguru.php";}
      else{include "beranda.php";}

      //Semoga gak slh pengertian...
      //Thank's

      Delete
  18. izin Nyimak gan,Makasi bener udah berbagi Ilmunya,semoga dibales sama Allah SWT gan,,Amin,..:)

    ReplyDelete
  19. ni om kodenya tapi ko masih salah ya.. tolong tuk dikoreksi
    0)
    {
    session_start();
    session_register("id");
    session_register("username");
    session_register("password");
    session_register("akses");
    $_SESSION[id] = $r[id];
    $_SESSION[username] = $r[username];
    $_SESSION[password] = $r[password];
    $_SESSION[akses] = $r[akses];
    header('location:dashboard.php');
    }
    else{ echo "LOGIN GAGAL!
    << Kembali";
    }
    ?>

    ReplyDelete
    Replies
    1. Untuk php 5.4 ke atas,, coba tambahkan tanda petik pada:

      $_SESSION[id] = $r[id];
      $_SESSION[username] = $r[username];
      $_SESSION[password] = $r[password];
      $_SESSION[akses] = $r[akses];

      Menjadi:

      $_SESSION['id'] = $r['id'];
      $_SESSION['username'] = $r['username'];
      $_SESSION['password'] = $r['password'];
      $_SESSION['akses'] = $r['akses'];

      Jangan lupa sebelum perintah session_start(); pastikan ga ada spasi atau baris kosong tanpa tertutup oleh <?php

      Lihat juga file yg di include sebelum baris perintah session_start(); seperti file koneksi.php, pastikan ga ada spasi sbelum <?php didalamnya....

      Thank's

      Delete
  20. Agan Cara Buat DatabaseNya Gimana Pake phpMyAdmin ,Aku Uda Download Itu Tpi G Ada Instal Nya Bantu Min :)

    ReplyDelete
    Replies
    1. Coba gunakan ini Hand:
      http://source.tutorialwebgratis.com/localserver/

      Delete
  21. saya klik http://localhost/webmaster/sessions/

    ada pesan error

    Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10061) in C:\xampp\htdocs\webmaster\sessions\koneksi.php on line 7
    Koneksi gagal

    saya masukan sesuai database di notepad dan download zip lalu ekstrak langsung dgn ke htdocs

    //dgn script di koneksi.php password=""; bukan password="1234"; saya pakai xampp

    saat buka degn browser ada pesan error koneksi line 7

    http://localhost/webmaster/sessions/

    ReplyDelete
    Replies
    1. Coba periksa file koneksi nya baris ke 7,,
      Ganti dengan:

      mysql_connect($server,$username) or die("Koneksi gagal");

      Thank's

      Delete
  22. kk gw mau buat pendaftaran member,reseller,dan admin gimana caranya kk pliss share dong / kirimkan ke fb aku www.facebook.com/agus.agennsx
    pliss ya kk

    ReplyDelete
  23. gan...
    itu syntax bisa buat 1 user 1 LogIn gak?

    misal user "ade" sudah Login dikomputer 1, berarti tidak bisa Login di komputer 2.

    terima kasih

    ReplyDelete
    Replies
    1. Untuk syntax di atas belum dibuat seperti itu, karena proses nya ga membaca user yg sedang online.... silahkan gunakan metode pada tutor dibawah ini untuk membaca status user yg sedang online:

      http://www.tutorialwebgratis.com/2012/08/cara-membuat-status-user-online-dan.html

      Silahkan kembangkan kedua medote tersebut...

      Delete
  24. This comment has been removed by the author.

    ReplyDelete
    Replies
    1. pak saya menemukan error pas sudah login
      eror nya
      Fatal error: Call to undefined function session_register() in C:\wamp\www\sessions\proses.php on line 11
      ini file proses.php nya pak
      0)
      {
      session_start();
      session_register("user_id");
      session_register("username");
      session_register("password");
      session_register("user_akses");
      $_SESSION['user_id']= $r['user_id'];
      $_SESSION['username']= $r['username'];
      $_SESSION['password']= $r['password'];
      $_SESSION['user_akses']= $r['user_akses'];
      header('location:index.php');
      }
      else
      {
      echo "LOGIN GAGAL!
      << Kembali";
      }
      ?>
      mohon pencerahan pak

      Delete
    2. Coba hilangkan bag ini:

      session_register("user_id");
      session_register("username");
      session_register("password");
      session_register("user_akses");

      Thank's

      Delete
  25. Saya mendapatkan error pada bagian ini om
    Fatal error: Call to undefined function session_register() in C:\xampp\htdocs\multi-login\proses.php on line 13

    dan ini screenshoot scrip php yg saya tulis di http://vvcap.net/db/uIhZLgTRYqg7aAQt6UN1.htp

    ReplyDelete
    Replies
    1. Coba hilangkan bag ini:

      session_register("user_id");
      session_register("username");
      session_register("password");
      session_register("user_akses");

      Untk php v.5.xx ke atas coba tambahkan tanda petik pada bag ini:

      $_SESSION[user_id] = $r[user_id];
      $_SESSION[username] = $r[username];
      $_SESSION[password] = $r[password];
      $_SESSION[user_akses] = $r[user_akses];

      Menjadi:

      $_SESSION['user_id'] = $r['user_id'];
      $_SESSION['username'] = $r['username'];
      $_SESSION['password'] = $r['password'];
      $_SESSION['user_akses'] = $r['user_akses'];

      Maf, br bs bls.

      Delete
  26. gan bagaimana caranya jika kita login sebagai mahasiswa yang pada saat kita login dengan nim kita yang keluar adalah seluruh data data kita...
    trus data data itu juga bisa di edit nantinya..
    mohon pencerahannya gan..

    ReplyDelete
    Replies
    1. Script di atas bs dijadikan panduan Mei.... Silahkan sesuaikan database nya...

      Delete
  27. Thanks u Gan, ats tutor.a.... slm knal z..

    ReplyDelete
  28. mas,saya mau tanya..
    Saya sedang mengerjakan tugas akhir tentang pembangunan administrasi online siswa..
    saya buat 3 halaman pada web saya yaitu halaman home, administrasi dan contact, tetapi karna temanya administrasi online, sehingga akun masing2 siswa harus berbeda di halaman administrasinya,
    nah, bagaimana agar ketika user login, halaman index dan contact yg dituju akan sama dengan user lain, tetapi yang berbeda pada tampilan halaman administrasi yang menampilkan administrasi dari masing2 siswa..
    seperti contohnya pada facebook, halaman pengaturan dan beranda dari tiap2 user kan sama, tetapi halaman profil dari masing2 user berbeda..

    untuk masalah enum nya, apakah menggunakan nama siswa kah ???
    karna disini tidak ada hak akses, hanya nama saja yg dijadikan hak akses,

    mohon bantuannya mas..
    trims

    ReplyDelete
    Replies
    1. Kalo seperti itu ga perlu menambahkan hak_akses user, karena setiap user login, halaman nya udh pasti berbeda2, sperti tampilan nama, poto, tgl lahir, nama ibu, dll
      Yg ditutuhkan hanyalah desain web dari halaman administrator nya sj....

      Maf klo sy blm paham sm pertanyaan ny, silahkan kirim kode nya ke email sj mba, biar sy lihat dlu...

      Thank's

      Delete
    2. contohnya gini mas.
      saya buat user dengan nama andi dan irman...
      ketika andi dan irman login mereka akan ditujukan pada halaman index yang sama, tetapi ketika mereka menuju halaman administrasi akan memunculkan tampilan administrasi mereka masing2 yang pastinya berbeda seperti contoh pada halaman administrasi andi akan muncul Rp.500.000 tetapi pada halaman edministrasi irman akn mncul Rp.1.000.000..

      Apakah bisa ???

      Kalo tidak pakai hak akses bagaimana untuk menujukan masing2 user pada halaman yang berbeda ???

      Delete
    3. Inti nya sama saja dengan tutorial di atas mba,,
      silahkan tambahkan username kedalam variable session saat login,
      kemudian didalam halaman Administrator cocokan data session tersebut
      dengan data username yg ada pada database, Jika data session sama dengan
      data username yg ada pada database maka proses akan dilanjutkan,
      seperti mengedit nama, merubah poto, menambahkan nilai, dll
      Jika demikian, maka halaman Administrator trsebut udh pasti berbeda2
      dari setiap masing2 user nya....

      Contoh:
      Misalkan didalam database terdapat data nilai yg isi nya berbeda2 dari setiap user nya
      Kemudian data nilai tersebut dipake untuk membedakan warna latar belakang halaman Administrator
      Jika nilai diatas 1000 maka latar belakang akan berwarna biru,
      dan jika dibawah atau sama dengan 1000, maka latar belakang akan berwarna merah

      Perhatikan kode berikut:

      <?php
      if($_SESSION['username'] == $data['username']){
      if($data['nilai'] > 1000){
      echo "<body bgcolor='blue'> Nilai kamu adalah: $data[nilai]</body>";
      }
      elseif($data['nilai'] <= 1000){
      echo "<body bgcolor='red'> Nilai kamu adalah: $data[nilai]</body>";
      }
      }else{
      echo "Tidak ada session username yg cocok, maka kamu didak boleh kesini!";
      }
      ?>

      Ini hanyalah contoh kecil saja,
      dan username bukan jadi patokan untuk menjadikan metode trsebut,
      bisa juga dari email, id, dll...
      Yg penting ada satu variable session yg di ambil dari table user
      yg nantinya session trsebut dijadikan sebagai kunci untuk mengambil data yg lain
      dari tiap2 user yg ada sesuai dengan session.

      Thank's

      Delete
  29. mas kan ada tugas administrator dan user biasa pengen beda kan kalo administrator mah bisa menguasai semua tapi user biasa cuman bisa lihat gmna scrip cara membedakan nya !!!
    sebelumnya mohon maaf nanya masih awam belum terlalu paham ??
    makasih sebelumnya !!!

    ReplyDelete
    Replies
    1. Ya, script di atas memang seperti itu,, silahkan membacanya lebih seksama lg...

      Contoh untuk membedakan nya:

      if ($_SESSION[user] == "admin"){
      PROSES DISINI UNTUK AKSES USER ADMIN SAJA
      }
      elseif ($_SESSION[user] == "biasa"){
      PROSES DISINI UNTUK AKSES USER BIASA SAJA
      }
      else{
      PROSES DISINI JIKA BUKAN KEDUA NYA / BERI PERINGATAN TIDAK MEMILIKI AKSES
      }

      Untuk proses nya bisa buat apa saja, seperti menghapus data, dll...


      Thank's

      Delete
  30. udh di coba tutorial di atas tetap gk bisa mas..
    ad cara yg lain gk ???
    trus 1 lgi mas, gmn cra na file excel di web it bsa d edit kmudian di download..??
    mhon pncerahannya mas.. ^_^

    ReplyDelete
  31. Mas saya menambahkan di page index
    tapi kug tulisannya Parse error: syntax error, unexpected $end in C:\xampp\htdocs\pakarjantung\index.php on line 50
    kenapa ya mas >?

    ReplyDelete
  32. This comment has been removed by the author.

    ReplyDelete
  33. linknya mati mas update lagi dong

    ReplyDelete
  34. Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in C:\xampp\htdocs\belajarlogin\koneksi.php on line 8
    Koneksi gagal
    udah ikutin cara diatas..line 8 :
    mysql_select_db($database) or die("Database tidak bisa dibuka");
    ?>

    ReplyDelete
    Replies
    1. maaf batal..udah dapat hehe sory...kesalahannya pada koneksi.php
      $pasword= "paswordnya"; diganti sama
      $pasword= "";
      krn gak pake pasword
      sekali lagi maaf mas...

      Delete
  35. om ini php adminnya letaknya dimana yah ??

    ReplyDelete
  36. maaf mas mau tanya, kondisinya gini, si user A sudah login terus menginputkan data tanpa perlu dia menginputkan namanya, namanya sudah otomatis tampil(ada data pengentrynya). . tapi kalau user lain lihat data tersebut koo nama user A tdk terlihat, malah yang kebaca dan yang jd pengentry datanya si user B itu gimana mas nyimpen data session user Anya. .
    Terima kasihh

    ReplyDelete
    Replies
    1. Mungkin yg di tampilkan itu sessions nya mas bukannya data yg di ambil dari database,, si pengentry harus ikut di entry kan ke database saat menambahkan data, dan jangan di buat sessions...

      Delete
  37. Bos numpang tanya :D
    pas pemanggilan halaman(misal koleksi.php) dari file index.php kok muncul
    kyak begini ya :
    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\TA\koleksi.php on line 36
    halaman:[1]

    tapi klo sya panggil secara manual dalam artian pemanggilannya tidak melalu index.php dia baru mau running, kira2 kenapa ya bos..?:D mhon penjelasnnya trimaksih sbleumnya

    ReplyDelete
    Replies
    1. itu biasanya karena koneksi ke mysql nya ga berhasil mas,, silahkan di cek kembali nama server, nama database, dan password nya, udh bner ap blm...?

      klo di panggil melalui file index.php ternyata berhasil, silahkan di cek kembali kode nya, mungkin kelengkapan koneksi nya sebagian ada di file index.php


      pastikan koneksi ke database sperti ini:

      mysql_connect('Alamat-Server','Username-Server','Password-Server');
      mysql_select_db('Nama-Database');


      Thank's

      Delete
  38. ""mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\TA\koleksi.php on line 36
    halaman:[1] """

    itu ada kesalahan pada nama table di database, misalkan di file php menulis table "user" tapi di table database "users"... itu bisa di deteksi pada syntax "SELECT user WHERE blablablabla....."

    ReplyDelete
  39. logout.php saya juga error :

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\7\wap\main.php:3) in C:\xampp\htdocs\7\wap\logout.php on line 2

    ReplyDelete
  40. izin sedot gan .. artikel.a keren banget :D

    ReplyDelete
  41. thanks gan makasii sangat, sangat berguna....

    ReplyDelete
  42. saya juga lg bikin session start mas.. saya mau tanya... kalo kita udah login menggunakan username terus mau tampiliin data usernya untuk ubah data, itu listingannya kayak gmana yah??
    soalnya saya udah pake session start tapi data muncul tapi gak menurut username... tolong... :-) makasih

    ReplyDelete
  43. Mantab sob. menambah ilmu buat saya yg masih agak sedikit gaptep ini. ijin mencoba sob

    ReplyDelete

 
Free hosting
Copyright © . Tutorial Web Gratis