Dapatkan CD MP3 Murottal Al Qur'an dan Terjemahnya. Satu-satunya di Indonesia!!
Ingin Punya Script SMS Gateway dengan PHP + MySQL?

Dapatkan segera phpSMS V3.0, software SMS Gateway multi fungsi berbasis web buatan saya sendiri untuk keperluan Anda.
[Info Lengkap...]

Ide Membuat Sistem Login Aplikasi Multi User


April 8th, 2009 | by rosihanari | Cetak Artikel Ini Cetak Artikel Ini

Bismillah… pada artikel kali ini saya akan mencoba memaparkan bagaimana teknik atau ide dalam membuat sistem login untuk aplikasi multi user.

Dalam suatu aplikasi bisa jadi terdapat lebih dari satu user dan dengan level yang berbeda-beda. Dengan adanya pembagian level tersebut diharapkan adanya hak akses yang berbeda. Untuk memudahkan Anda dalam membayangkan hal ini, misalkan terdapat 5 user katakanlah A, B, C, D dan E dimana user A, B dan C adalah level ‘administrator’, sedangkan D dan E user biasa. Nah… user A, B, dan C ini misalkan berhak mengakses halaman 1, 2 dan 3 dari aplikasi sedangkan D dan E hanya boleh mengakses halaman 3 saja. Dengan kata lain hak akses ke halaman-halaman tersebut ditentukan oleh level usernya.

Pemberian hak akses pada masing-masing user ini bisa dalam bentuk link menu. Ketika seorang user telah melakukan login, dan loginnya sukses maka akan muncul menu link ke halaman-halaman yang boleh diaksesnya. Sebagai gambaran misalnya pada contoh di atas, setelah user A login dan loginnya berhasil maka akan muncul menu link menuju ke halaman 1, 2 dan 3 karena si A ini levelnya Administrator. Namun untuk si D, karena levelnya user biasa, maka hanya akan muncul menu link menuju halaman 3 saja.

Nah… lantas bagaimana ide dan teknik dalam membuat sistem login terkait dengan hak akses untuk multi user seperti kasus di atas? Inilah yang akan saya beberkan rahasianya dalam artikel ini. Artikel ini merupakan request dari xfreecode (member saya) sekaligus salah satu dari sekian banyak trik dan teknik yang saya paparkan pada peserta kursus online PHP bersama saya.

Ide dan teknik untuk menyelesaikan kasus di atas sebenarnya hanyalah pada penggunaan SESSION. Setelah user berhasil login, maka dibaca level usernya. Untuk memudahkan pengecekan level user ini, maka level user disimpan pada SESSION. Nah.. level user yang tersimpan dalam SESSION inilah yang nantinya akan banyak dicek untuk keperluan pembatasan hak akses user pada halaman-halaman yang sifatnya private.

OK.. OK… sudah paham deh idenya, tapi gini… bagaimana seandainya ada user yang nakal? misalkan user E dengan level user biasa kebetulan tahu link URL menuju ke halaman 1. Lantas si E ini mencoba mem bypass link menuju halaman 1 melalui URL langsung tanpa melewati menu link, padahal halaman 1 ini adalah restricted area bagi user biasa (dalam hal ini si E). Nah lo… gimana hayoo?? ya… seorang programmer harus pinter-pinter ngakali. Trus… Gimana ngakalinya? ya… sebelum bagian script yang menampilkan konten pada halaman 1 terlebih dahulu harus mengecek level usernya sebagai ‘administrator’ atau tidak, melalui pengecekan SESSION nya. Jika ya, maka tampilkan kontennya, dan jika tidak maka munculkan pesan ‘Anda mau mencoba masuk ya?? Kagak boleh atuh ‘ :-)

OK.. deh … stop berteori, sekarang let’s do it! :-)

Untuk studi kasusnya, misalkan kita punya data user sebagaimana tersaji dalam tabel berikut ini

CREATE TABLE user (
  username varchar(20),
  password varchar(20),
  level varchar(20),
  PRIMARY KEY(username)
);
INSERT INTO `user` VALUES ('a', 'pass1', 'admin');
INSERT INTO `user` VALUES ('b', 'pass2', 'admin');
INSERT INTO `user` VALUES ('c', 'pass3', 'user');
INSERT INTO `user` VALUES ('d', 'pass4', 'user');
INSERT INTO `user` VALUES ('e', 'pass5', 'user');

Wah.. passwordnya kok tidak dienkripsi? he 3x… ya itu saya sengaja karena supaya Anda bisa mencoba script yang saya buat ini. Memang sebaiknya passwordnya Anda enkripsi, paling tidak menggunakan md5().

Nah.. selanjutnya kita buat form loginnya.

login.htm

<form method="post" action="loginsubmit.php">
  <table border="0">
    <tr>
      <td>Masukkan Username </td>
      <td><input name="username" type="text"></td>
    </tr>
    <tr>
      <td>Masukkan Password </td>
      <td><input name="pass" type="password"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit" value="Submit"></td>
    </tr>
  </table>
</form>

Form login sudah dibuat, berikutnya kita buat script untuk memproses loginnya.

loginsubmit.php

<?php

// memulai session
session_start();

mysql_connect('dbhost', 'dbuser', 'dbpass');
mysql_select_db('dbname');

$username = $_POST['username'];
$password = $_POST['pass'];

// query untuk mendapatkan record dari username
$query = "SELECT * FROM user WHERE username = '$username'";
$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);

// cek kesesuaian password
if ($password == $data['password'])
{
    echo "<h1>Login Sukses</h1>";

    // menyimpan username dan level ke dalam session
    $_SESSION['level'] = $data['level'];
    $_SESSION['username'] = $data['username'];

    // tampilkan menu
    include "menu.php";

}
else echo "<h1>Login gagal</h1>";

?>

Bila Anda perhatikan pada script di atas, maka terlihat bahwa menunya membaca script menu.php. Di dalam script menu.php sendiri nantinya terdapat pengecekan level usernya yang tadi tersimpan dalam session sewaktu login sukses. Bila level usernya adalah ‘admin’ maka tampilkan menu link menuju halaman 1, 2, dan 3. Begitu pula untuk level ‘user’.

menu.php

<?php

session_start();

if ($_SESSION['level'] == "admin")
{
    // tampilkan menu untuk admin
    echo "<a href='hal1.php'>Halaman 1</a> ";
    echo "<a href='hal2.php'>Halaman 2</a> ";
    echo "<a href='hal3.php'>Halaman 3</a> ";
    echo "<a href='logout.php'>Logout</a> ";
}
else if ($_SESSION['level'] == "user")
{
    // tampilkan menu untuk user biasa
    echo "<a href='hal3.php'>Halaman 3</a>";
    echo "<a href='logout.php'>Logout</a> ";
}

?>

Selanjutnya, kita bisa mulai membuat konten pada halaman 1, 2 dan 3. Ingat.. sebelum menampilkan kontennya sebaiknya dicek level usernya terlebih dahulu. Bila levelnya tidak sesuai dengan hak aksesnya, maka jangan ragu untuk menolak :-) Untuk halaman 1, dari kasus yang kita ambil hanya bisa diakses oleh user berlevel ‘admin’ saja. Begitu pula untuk halaman 2. Namun untuk halaman 3, baik level ‘admin’ maupun ‘user’ biasa boleh mengaksesnya.

hal1.php

<?php

session_start();

// cek apakah user yang mengakses halaman ini sudah melalui login atau belum
// logikanya jika user telah login dan sukses, maka SESSION level dan SESSION username ini pasti sudah ada
// jika ada user yang mencoba akses halaman ini tanpa login, maka logikanya kedua SESSION belum ada

if (isset($_SESSION['level']) && isset($_SESSION['username']))
{
   // tampilkan menu.
   // menu hanya ditampilkan bila halaman ini diakses oleh user yang telah login

   include "menu.php";

   // cek level user apakah admin atau bukan

   if ($_SESSION['level'] == "admin")
   {
       // tampilkan konten halaman 1 jika levelnya admin

       echo "<h1>Halaman 1</h1>";
       echo "<p>Selamat datang di halaman satu wahai user : ".$_SESSION['username']."</p>";
       echo "<p>Ini adalah konten halaman 1</p>";
   }
   else
   {
       // jika levelnya bukan admin, tampilkan pesan
       echo "<h1>Maaf.. Anda bukan user berlevel Administrator</h1>";
   }
}
else
{
   echo "<h1>Nah.. Anda pasti mencoba akses halaman ini tanpa login ya?</h1>";
}

?>

Untuk halaman 2, konsepnya juga sama seperti script halaman 1 di atas, hanya yang berbeda pada kontennya tentu saja :-) Sekarang untuk halaman ke-3 di mana yang bisa mengakses adalah semua level user, scriptnya adalah:

hal3.php

<?php

session_start();

if (isset($_SESSION['level']) && isset($_SESSION['username']))
{
   include "menu.php";

   if (($_SESSION['level'] == "admin") || ($_SESSION['level'] == "user"))
   {
       echo "<h1>Halaman 3</h1>";
       echo "<p>Selamat datang di halaman tiga wahai user : ".$_SESSION['username']."</p>";
       echo "<p>Ini adalah konten halaman 3</p>";
   }
}
else
{
   echo "<h1>Nah.. Anda pasti mencoba akses halaman ini tanpa login ya?</h1>";
}

?>

Eits… hampir lupa, yang terakhir kita buat script logoutnya. Pada prinsipnya proses logout adalah menghapus semua session yang tadi terbentuk ketika login sukses.

logout.php

<?php

session_start();
session_destroy();
echo "<h1>Anda sudah logout</h1>";
echo "<p><a href='formlogin.htm'>Login Kembali</a></p>";

?>

That’s it… mudah bukan membuatnya? Mudah-mudahan artikel di atas menjawab semua unek-unek yang dihadapi bagi Anda yang ingin membuat aplikasi dengan multi user.

[ DOWNLOAD SCRIPT ]

VN:F [1.9.4_1102]
Rating: 7.3/10 (7 votes cast)
Ide Membuat Sistem Login Aplikasi Multi User, 7.3 out of 10 based on 7 ratings
Anda ingin mendownload beberapa tool programming 100% gratis?
Silakan download di FREE PROGRAMMING TOOLS.
atau ingin berdonasi untuk pengembangan blog ini cukup dengan $1 via Paypal?



Beberapa artikel terkait


Share this article on:

Kata kunci: multi level - muti user - PHP - script -


Ada 108 komentar dalam artikel ini.

  1. klo untuk database yang mengunakan ms.access gimana pak??
    makasi buat replynya :)
    btw tmpt tinggal bapak di karanganyar jakarta bukan?

  2. mashardi says:

    ini yang saya cari-cari pak, matur sembah nuwun.

    moga dibuatkan juga mengenai hak akses user tetapi disimpen dalam database, jadi admin tinggal klik checkbox aja tuk aktifin.

  3. rosihanari says:

    to felix: ya sama saja. Yang beda cuman masalah koneksinya ke access. Anda bisa baca2 artikel saya bagaimana cara koneksi ke access dengan odbc, di artikel saya, misalnya: http://blog.rosihanari.net/script-insert-data-dengan-php-dan-ms-access, http://blog.rosihanari.net/cara-koneksi-php-ke-microsoft-ms-access

  4. asep says:

    pak sebelumnya saya ucapkan terima kasih karena artikel ini yang saya cari selama ini,tapi masalahnya pas saya coba praktekan begitu saya coba login knp login gagal trs…??

    terus bagian ini :
    $_SESSION['level'] = $data['level'];
    $_SESSION['username'] = $data['username'];

    maksudnya apa..? saya msh kurang mengerti

    maaf saya masih newbie..

  5. rosihanari says:

    to asep: coba cek besar kecilnya password yang dimasukkan di form login, atau besar kecilnya nama tabel. Bila masih tidak bisa, silakan download scriptnya di http://www.ziddu.com/download/4224438/multiuser.zip.html

  6. Ardi says:

    Dear pa.

    Artikel_a keren aBiz. btw ko source code_a tak bisa aku download ya? Blh tak kalo minta di kirim ke email aku?
    Thank

    best regards
    ardi

  7. asep says:

    mas saya numpang tanya lagi nie, yang masalah login multi user ini. gini mas pas saya udah coba praktekin yang contoh di atas itu emang bisa
    tapi pas saya mau coba pake autenthikasi MD5 itu eror trs ya mohon di beri pencerahan…

    terima kasih sebelumnya..

  8. rosihanari says:

    to asep: coba cek lagi logika kapan login dikatakan sukses atau berhasil. Mungkin ada logika yang kurang benar dalam script anda

  9. rosihanari says:

    to ardi: bisa kok didownload. Mungkin waktu itu koneksi ke file download baru DC

  10. zhariku says:

    Pa…saya mau tanya nih.. kalo membuat script php konversi bilangan rupiah ke huruf gimana ya ???
    (Rp. 1000 = Seribu Rupiah)

  11. aimin says:

    ass… Pak Rosihan,trmksh ats infonya. Bnr2 bermanfaat buat sy. Sy lg membuat web dengan mnggunakan dream weaver 8 & xampp, tp smpe skrg blm sy hosting. Sy ada kesulitan, karena krja klompok, adminnya ada 6 org. Gmn caranya ketika seorang admin sudah mempunyai user & password, dia tidak bisa mengetahui atau merubah password admin yg lain. Kl bisa ada 1 admin saja yg mempunyai kwenangan mutlak diantara 5 org admin yg lain. Tlg ksh tau jg security untuk komentar, khususnya restrick.

  12. rosihanari says:

    to aimin: itu solusinya terdapat dalam scriptingnya saja. Anda bisa saja membuat 5 orang sebagai admin dan 1 orang sebagai super admin (katakanlah begitu). Kemudian bila user login sebagai admin, maka hanya tampilkan fitur untuk mengubah data dia sendiri. Namun bila yang login super admin, maka tampilkan fitur untuk mengubah semua data user yang lain.

  13. Illank says:

    numpang nanya ini gima cara membuat tabel dalam php

  14. zili says:

    ass para master php, aku mau tany ni, cara membuat
    anti-spam word gimana y? seperti memasukkan gambar dan suara gt! thnk, ditunggu jawabanny.

  15. aimin says:

    ass…Terima kasih P Rosihan atas jawabannya. Sy ada sdkit mslh lg nih P, maklum msh bljr. Script/aplksi untk memasang kalender dan waktu gmn P..? Sy udh baca2 postingan Bp g da yg bhas itu. Kl di blogger kn harus online, sdngkn ni br thap pmbuatan (server lokal). Trus script untk field tgl & wktu yg otomatis ada g? Misal di tabel berita, kn ada field utk tgl posting. Intinya ktika kt posting tgl dan wktu sdh otomatis tdk prlu input mnual.

  16. rosihanari says:

    to aimin: untuk mendapatkan tanggal secara otomatis, Anda dapat menggunakan perintah date(“d-m-Y”); di PHP.

  17. rosihanari says:

    to zili: saya rasanya pernah posting masalah tersebut di blog ini. Coba Anda search ya, gunakan keyword: anti spam.

  18. dodik says:

    kalau idenya begini apa sama saja pak ? ada 5 user misalnya, saat login masing2 user mendapat informasi diri pribadinya berikut informasi lain secara private (menu sama isi beda) ? hmm hehe dipertimbangkan jg kalau ada 300 user ? trima kasih

  19. andri says:

    Mas Rosihan, saya baru belajar php, dan itu pun secara otodidak. yang ingin saya tanyakan adalah bagaimana menempatkan foto atau gambar didalam website, soalnya setiap mengisi berita selalu tidak ada fotonya. sampai saat ini saya masih kesulitan untuk mencari scriptnya. mohon pencerahannya. terima kasih.

  20. rosihanari says:

    to andri: gunakan tag <img src=”url image” />

  21. andri says:

    Terima kasih mas rosihan untuk pencerahannya, tapi kalau gambar itu adanya di database, saya menggunakan mysql. mohon pencerahannya lagi yach mas. maklum masih belajar. makasih.

  22. rosihanari says:

    to andri: mm… mungkin mas bisa baca artikel2 tentang bagaimana menampilkan image yang disimpan dalam database dalam bentuk BLOB sebagai berikut: http://blog.rosihanari.net/membuat-thumbnail-image-dengan-script-php/ atau http://blog.rosihanari.net/membuat-script-random-image-dengan-php/ di dalam artikel tersebut ada konsep untuk memunculkan image dari database.

  23. defa says:

    Thanks.. Mas Rosihan Ari. karena dari artikelmu sangat mempunyai semangat baru untuk mengembangkan desain blog saya. itu disebabkan dimulainya rasa tidak percaya diri atas kemampuan yang bisa saya dapatkan. tapi setelah ini saya percaya serta yakin bahwa saya juga bisa. sekali lagi thanks Mas Ari..

  24. sahl says:

    Pa Ari, saya mau tanya, bagaimana caranya agar dalam menu.php, langsung kita direct ke halaman tertentu sesuai dengan level usernya.

    Misalnya user e dgn level user, setelah login, si e akan langsung terbuka halaman utama khusus hak akses user (misal: menuuser.php) tanpa harus mengklik apapun.
    sy sdh coba pake function header() tp ga bisa :(

    mohon bantuannya
    Thanks a bunch…. smg berkah :)

  25. sahl says:

    Btw, waktu di blog Pa Ari masih waktu server yah pak? (sy kasih koment pertanyaan tanggal dan waktunya ga cocok) bgmn biar bisa sama dgn waktu lokal disini yah?

    salam

  26. rosihanari says:

    to sahl: konsepnya begini :

    if (login sukses)
    {
    baca level usernya;
    if (level == ‘admin’) include “menuadmin.php”;
    else include “menulain.php”;
    }

    Akan tetapi di dalam menuadmin.php harus ada jaminan bahwa yang mengakses menu tersebut adalah benar2 level admin.

  27. sahl says:

    wah iya yah.. tidak me-redirect tetapi memasukan (include) halaman tertentu sesuai hak akses… sesuai yg diharapkan.. terimakasih banyak Pa..

    smoga berkah :)

  28. rosihanari says:

    to sahl: iya, itu yang biasa saya pake :-)

  29. eko darmawan says:

    Salam kenal,
    mau tanya,
    1. untuk tampilan web yang mudah dan sederhana ada gak softwarenya?
    2. Cara agampang gabungin html dengan php.
    3.TQ pak

  30. kampoengs says:

    ass….
    PAK MW TANYA NIH…IKUT NIMBRUNG…
    klo misal ada tabel siswa n pegawai,pegawai ada guru,kepsek,n admin,,,bagaimana yah bikin hak aksesnya…..mkc sbelume atas jawabannya….

  31. rosihanari says:

    to kampoengs: kalau masing-masing user (siswa, guru, kepsek dan admin) punya hak akses yang berbeda-beda, ya berarti anda harus buat 4 level user.

  32. helsi says:

    walah… bingung aq mas…. gimana yah…

  33. helsi says:

    walah…. kuk angel buanget yoh…. aq g iso masang. kalau di bloger bisa ndak ya mas

  34. amirul says:

    pak nanya.caranya koneksi databesnya g mana ya??
    trims

  35. Ririe Rhistanty says:

    pak nanya, kalau misalnya multi user tapi tabelnya berbeda gimana?
    misalnya ada user biasa, trus user admin tapi dari tabel yang berbeda mohon bantuannya.

  36. rosihanari says:

    to ririe rhistanty: ya no problem mbak. Nanti pakai switching saja. IF user yang login levelnya admin, THEN akses tabel ADMIN. ELSE IF user yang login levelnya user biasa, THEN akses tabel USERBIASA.

  37. shendy says:

    thx tutor’a..
    keren..

  38. dikiir234 says:

    maaf ya ikut naNYA NI….

    ap tbl YG berisi login itu di buat tbl sendiri YANG BERELASI ke user ato disetiap tbl pengguna (tbl_siswa, tbl_guru, dan tbl admin) di beri user n pass masing masing????

    mkasi ats informasinya…

  39. rosihanari says:

    to dikiir234: sebaiknya untuk menyimpan data user dalam satu tabel saja. Nanti dalam tabel tersebut diberikan field ‘level’ untuk menentukan level dari usernya. Untuk passwordnya, otomatis tersimpan dalam tabel itu jg.

  40. iy4ng says:

    Pak mau tanya nih, kalau script di atas bisa di pakai di Blogspot ngga ya ?

    Kalaupun tidak bisa di pakai, adakah cara lain ?

    Mohon pencerahannya Pak.

    Terima Kasih Sebelumnya.

  41. rosihanari says:

    to iy4ng: sistem login di blogspot buat apa mas?

  42. henn says:

    Sy dah coba pak, bisa
    tapi minta register_globals nya enabled
    pertanyaan sy, bisa tidak script ini berjalan dgn register_globals disable?

    Thanks

    Warning Message sbb:
    Login Sukses

    Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

  43. rosihanari says:

    to henn: itu warning nya bukan sesuatu yang fatal mas. sepertinya itu ada ketidakkompatibilitasan antara penggunaan session dengan versi PHP yang Anda gunakan.

  44. Yuga says:

    Terima kasih banyak ya pak…
    berkat blog anda ini, saya terbantu dalam mengerjakan tugas kuliah saya…^^”

  45. adytia says:

    pak mau tanya…. scriptnya koq gak bisa di download yaaa???
    trima ksh sblmnya…!!

  46. rosihanari says:

    @adytia: coba lagi mas, mungkin waktu itu mas down servernya

  47. mang dadang says:

    mas..rosihan, rencananya saya mau taro aplikasi saya di tempat hosting. berarti script aplikasi saya terbuka..ya.
    gimana cara enkrip source aplikasinya biar ga bisa ke buka, tapi aplikasi tetap jalan.
    terima kasih..mohon pencerahannya..mas

  48. rosihanari says:

    @mang dadang: bisa sih dienkrip mas, tapi software enkrip nya harus beli..

  49. mang dadang says:

    kira2 berapa mas harganya? terus nama softwarenya apa mas?

  50. rosihanari says:

    @mang dadang: coba anda search saja di google dengan keyword: how to encrypt php source

  51. nurhidayat says:

    asslmualaikum
    pak mo nanya saya buat session kaya secrip di atas tapi kenapa session baru bisa ke baca setelah login 2x login pertama session tidak berjalan hasilnya di tolah pada halaman yang di tuju, terus di ulang lagi login berhasil dan dapt di teruskan ke hlmn yg di tuju untuk seterusny sampai logout ketika login pertama lg pasti gagal baru login ke 2 berhasil dst. mohon pencerahnya terima kasih

  52. rosihanari says:

    @nurhidayat: session_start() nya diberikan di bagian script mana mas?

  53. hendipra says:

    Kalo login multi usernya dari tabel yang berbeda dan misalnya terdapat 3 tabel
    apa setiap tabel terdapat level ?
    contoh scriptnya gmn?
    mohon bantuannya

  54. rosihanari says:

    @hendipra: 3 tabel itu untuk apa mas? kalo user cukup satu saja, level usernya disimpan dalam satu tabel tersebut.

  55. hendipra says:

    3 tabel itu untuk admin,user biasa dan user khusus
    kalo djadikan satu agak ribet soalnya untuk tabel user biasa dan user khusus terdapat data yang lain

  56. victor says:

    mas mau tanya jika di gabungin dengan md5 gimana ya, karena saya coba artikel mas rosihanari yang tentang membuat password dengan md5 dan update administrtor sebelum nya gak bisa, mohon penjelasan nya

    terima kasih

  57. wisnu says:

    Pak, saya mau tanya…
    untuk koneksi ke database gmn yah???
    dalam script ini bukannya kita hrs buat database user dulu yah? trus nama databasenya apa yah??
    saya dah coba otak-atik tp selalu salah di data usernya :P
    maap saya msh newbie

  58. rosihanari says:

    @wisnu: iya mas, harus create DB dulu dan create table dulu. Nama db nya terserah… nanti db nya dicantumin di mysql_select_db(‘dbname’);

  59. wisnu says:

    mau tanya lagi, Pak!
    untuk script mysql_connect(‘dbhost’, ‘dbuser’, ‘dbpass’); apa perlu diubah lagi???

    soalnya saya biasa isi seperti ini mysql_connect(‘localhost’, ‘root’, ”);

    mohon bantunya lagi, Pak!
    terimakasih…:)

  60. rosihanari says:

    @wisnu: dbhost itu diganti dengan nama hostnya mas, kalo anda pake localserver ya ditulis ‘localhost’, trus dbuser itu diganti username koneksi ke mysqlnya, dan dbpass itu diganti passwordnya… bunyi errornya gmn mas? selama username dan passwordnya benar, seharusnya gak ada problem.

  61. wisnu says:

    terimakasih,Pak atas pelajarannya…
    sudah saya coba dan sekarang berhasil…
    sekali lagi terimakasih :D

  62. Husni Ilyas says:

    Wow..ok banget tutorialnya…semoga istiqomah berbagi ilmu :)

  63. r3q says:

    terima kasih pak atas scriptnya. saya mencoba untuk membuat menu login, tetapi tidak bisa dan harus 2x baru bisa masuk. setelah baca dari komentar yang ada, seharusnya session startnya diletakkan dimana pak ? terima kasih.

  64. r3q says:

    maf pak,dimana kami harus meletakkan session startnya sehingga tidak terjadi dimana login 1 kali gagal tetapilogin yang ke2 baru bisa masuk ? terima kasih.

  65. Nico says:

    P. Rosihan, saya sudah mencoba dan berhasil. masalahnya sekarang adalah: Setelah kita Logout, mengapa hal1.php yang sudah dibuka waktu login masih bisa dibuka walau sudah Logout hanya dengan tekan tombol UNDO.
    pertanyaan saya, bagaimana jika sudah logout, kita tidak bisa membuka hal1.php dengan undo.
    Mohon bantuannya.
    terima kasih.

  66. uswahshop says:

    Pak bagai mana dengan login multi level
    kebetulan yang akan saya buat multi level
    dng hak akses yang berbeda2

  67. uswahshop says:

    Saya coba menmbahkan levelnya dengan coding bapak menjadi 5 level tapiko ga berhasil2 juga ya..?
    menu yg diberi session ke 3,4,5 nya ga tampil tp login sukses.
    mohon solusinya pak terimakasih..

  68. aby says:

    wah makasih pak artikelnya bagus…

    pertanyaan saya mirip punya mashardi pak..

    edit hak akses lewat check box gmn yach?

    makasih..:)

  69. aam says:

    wah artikelnya manfaat sekali untuk saya kebetulan saya ada tugas ujikom dari sekolah mengenai “hak akses” terimakasih pak rosihanari….sukses selalu untuk bapak.!!

  70. achmadi says:

    mas ini : bisa login sukses tapi diatasnya muncul ini : kenapa ya ???

    Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at C:\Program Files\aplikasi lain\xampp\htdocs\accesoris\login\multi\loginsubmit.php:9) in C:\Program Files\aplikasi lain\xampp\htdocs\accesoris\login\multi\loginsubmit.php on line 12

    dan kalau submit tanpa disi munculnya tulisan ini

    Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line 0

  71. rosihanari says:

    @achmadi: untuk perintah session_start() di atasnya tidak boleh ada tag HTML mas. BTW.. Anda pake PHP versi brp?

  72. uya says:

    mas.. saya ada masalah sedikit dengan web yg sedang saya buat tentang login password multi user. masalahnya teman saya maunya dalam table user terdapat 3 level seperti level1 untuk admin, level2 untuk dosen, level3 untuk mahasiswa jd tiap level sudah di tentukan untuk siapa yg berhak mengakses dan link2 apa saja yg dapat di akses oleh tiap level..sebelumnya saya ucapkan terimakasih.. saya mohon atas pencerahannya mas..oya mas kalo memang mas berkenan untuk menjelaskan tolong di jelaskan secara rinci ya mas..sekali lg terimakasih mas..

  73. muse says:

    thanx bgt nih mas bwt scrip nyaaaa

  74. achma says:

    mohon bantuannya
    pak mau nnya lagi nihhhhh :
    terjadi terjadi beberapa hari, q kalau masuk login kok muncul pesan seperti ni

    Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at C:\Program Files\aplikasi lain\xampp\htdocs\accesoris\login\multi\loginsubmit.php:

    terjadi error seperti ini pak
    ini kenapa yaa?????
    jadi bingung dah browsing nanya mbah google tapi sia – sia

    sebelumnya makasih semua atas bantuannya

  75. rosihanari says:

    @achma: untuk perintah session_start() itu harus diletakkan paling atas dari script. Sebelum session_start() tidak boleh ada tag HTML apapun.

  76. rosihanari says:

    @uya: kan konsepnya sama seperti di atas mas?

  77. ika puspita says:

    mas, kalo menggunakan md5, skripnya gmn yah jadinya??? soalnya aku udah nyoba, tp gagal trus…mohon jawabannya…

  78. rosihanari says:

    @ika puspita: konsepnya adalah, simpan password yang terenkrip dengan md5 ke dalam tabel user di DB. Oya.. pastikan panjang field untuk password ini adalah 32 di tabelnya, karena hasil md5 adalah string berukuran 32 karakter. Lalu setiap kali login, password yang dimasukkan user via form login dienkrip dengan md5, lalu dibandingkan dengan password md5 yang tersimpan di tabel DB. Jika cocok, maka login berhasil.

  79. asejaa says:

    makasih banget ya…infonya, tapi bisa gak kita praktekan di blog atau di wordpress.

  80. rosihanari says:

    @asejaa: bukankah di blog/WP kan sudah ada sistem login multiusernya?

  81. martoyo says:

    salam kenal pa ,saya mau tanya kalo php bisa buat teks to speech ga ya jadi teks yang di ketik nanti di simpen ke mp3 or wav kaya di konvert gitu,thanks

  82. hendra says:

    bingung, saya mau bikin menu login web lain di blog saya, bagaimana caranya?????????/

  83. dani says:

    thanks banget atas tutorial nya,,,

    bagaimana cara membuat hiden menu nya??
    jadi menu tersebut muncul sesuai login level nya???

    maksih bos???
    di tunggu secepat nya???

  84. rosihanari says:

    @dani: kan tutorial di atas sudah menjelaskannya untuk Anda mas?

  85. fariz says:

    klo buat chat server gmn om

  86. rosihanari says:

    @fariz: maaf mas belum ada ide untuk cara pembuatannya.

  87. sronto says:

    mas gmn cara buatnya supaya gak usah pake level. tapi id jadi kayak facebook gitu. membuka profilnya sendiri. isinya kayak WHERE id=$_SESSION['id'] gitu deh? jadi kedepannya bisa liat profil orang lain kayak fb

  88. acombusite says:

    mas ari blh gk saya mengcopy script”a kemudian saya masukan di dlm website saya ??? tolong dibls ke email saya ya ???

  89. rosihanari says:

    @acombusite: ok silakan mas… tapi jangan lupa backlink nya ya…

  90. Gilank says:

    Mas, kalo adminnya handle page yg banyak gimana?
    apa mesti add satu2 seperti yg contoh hal 1.php itu?
    thanks

  91. rosihanari says:

    @gilank: dalam implementasinya tidak 1 halaman 1 script mas, tapi pakai model CMS gitu. Beberapa halaman/modul bisa dalam 1 script.

  92. jackoy says:

    pak mau tanya saya mencoba tidak mengetikkan username dan password muncul tampilan seperti ini

    Login Sukses

    Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

    maksudnya dari pesan ini apa ya.. ?
    Mohon Pencerahannya….

  93. rosihanari says:

    @jackoy: mungkin Anda masih pake PHP versi rendah ya mas? Coba upgrade versi PHP Anda yang lebih tinggi.

  94. jackoy says:

    @bpk. rosihanari : pakai PHP Version 5.2.6 pak..

  95. rosihanari says:

    @jackoy: coba buka file php.ini dan cari baris ini mas
    error_reporting = xxx
    Lalu ubah isinya dengan E_ALL & ~E_NOTICE sehingga menjadi
    error_reporting = E_ALL & ~E_NOTICE
    lalu restart apachenya.

  96. jackoy says:

    @Bpk .Rosihnari :
    ; – Show all errors, except for notices and coding standards warnings
    ;
    ;error_reporting = E_ALL & ~E_NOTICE
    ;
    ; – Show all errors, except for notices
    ;
    ;error_reporting = E_ALL & ~E_NOTICE | E_STRICT
    ;
    ; – Show only errors
    ;
    ;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
    ;
    ; – Show all errors except for notices and coding standards warnings
    ;
    error_reporting = E_ALL & ~E_NOTICE

    itu setingan php.ini defaultnya padahal udah open pak…

    sudah saya coba open semua restart XAMPP tetep tidak effect pak…

    Terima Kasih sudah meluangkan waktunya untuk merespon setiap komentar saya ^_^.

  97. rosihanari says:

    @jackoy: coba buka lagi php.ini nya mas, dan cari session.bug_compat_warn = … Lalu gantilah nilainya dengan 0, jadinya
    session.bug_compat_warn = 0, lalu restart Apachenya.

  98. rhomdani says:

    pak, minta gambaran database upload ini dunk!!!

  99. rosihanari says:

    @rhomdani: gambaran gimana maksudnya mas? kan strukturnya sudah saya jelaskan di atas?

  100. arief.dwiyanto says:

    makasih gan ilmunya..

  101. jawararental says:

    wah sip gan
    nie yang ane cari

    makasih ya gan
    good luck

  102. Ugoeh says:

    Mas mu nanya neh, gimana caranya kalau register user baru lewat konfirmasi dahulu ke admin area? terlihat tabel data yang telah aktif dan non aktif ketika di klik konfirmasi barulah aktif sang pendaftar baru tadi tersebut?
    kemudian pembuatan halaman blokir/hapus user di tabel?
    Trimakasih sebelumnya mas.. :D

  103. Aryo says:

    Pak gimana caranya supaya bisa membuat login multiuser yang berbeda.nah setiap anggota/user memiliki data nilai dan pengalaman yang berbeda di databasenya.jadi data nilai dan pengalaman antara si A,B,C,D,E gak sama.Si A mau mengakses data nilainya sendiri.

    Jadi maksud saya gimana bisa menampilkan data user selain hanya menampilkan “Selamat Datang User”?

  104. wawan says:

    trimakasih mas…. bantu banget,,, skali coba langsung berhasil…

  105. rosihanari says:

    @aryo: nanti pake session mas… coba cek http://blog.rosihanari.net/apa-sih-gunanya-session-di-php konsepnya persis sama spt itu.



Tolong beri komentar donk!

Komentar Anda akan berguna untuk kemajuan blog ini.


Mohon maaf, komentar yang menggunakan email palsu atau komentar bernada negatif atau cemooh secara otomatis akan terhapus karena dianggap spam dan tidak akan tampil dalam daftar komentar.

Dimohon jangan pula memasukkan code program dalam bentuk apapun ke dalam komentar karena akan dianggap spam.

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word