Cara Membuat Form Daftar, Login dan Logout dengan PHP MySQL

Cara Membuat Form Daftar, Login dan Logout dengan PHP MySQL – Dalam pembuatan website tentunya memerlukan sebuah form, baik untuk menentukan member atau admin.

Membuat Database MySQL dengan phpMyAdmin

Terlebih dahulu buatlah database, dalam contoh ini saya menggunakan phpMyAdmin.

  • Buat database dengan nama latihan”.
    Cara Membuat Form Daftar, Login dan Logout dengan PHP MySQL
  • Buat tabel dengan nama “user” dan isikan 3 untuk jumlah kolom yang akan dibuat.
    Cara Membuat Form Daftar, Login dan Logout dengan PHP MySQL
  • Kemudian isikan ke 3 kolom yang telah dibuat tadi seperti berikut :
    Gambar Cara Membuat Form Daftar, Login dan Logout dengan PHP MySQL

  • Jika sudah silahkan tekan tombol save untuk menyimpan field yang telah kita isikan.

Apabila langkah diatas telah dilalui berati database telah selesai dibuat dan siap digunakan. Langkah berikutnya adalah membuat form dan proses PHP ke database MySQL.
Disini diperlukan beberapa file yang harus dibuat.

  1. koneksi.php
  2. index.php
  3. daftar.php
  4. prosesdaftar.php
  5. login.php
  6. proseslogin.php
  7. logout.php

Sebelum ke pembuatan form daftar dan login saya minta untuk membuat file koneksi.php untuk menghubungkan ke database, dengan kode dibawah ini.

<?php $host = "localhost"; $user = "root"; $pass = ""; $db = "latihan"; $konek = mysql_connect($host, $user, $pass) or die ('Koneksi Gagal! '); mysql_select_db($db); ?>

Pertama buatlah file dengan nama index.php dimana file ini akan ditampilkan ketika login sukses, isikan dengan kode dibawah :

<?php session_start();
if(!isset($_SESSION['username'])) {
header('location:login.php'); }
else { $username = $_SESSION['username']; }
require_once("koneksi.php");
$query = mysql_query("SELECT * FROM user WHERE username = '$username'");
$hasil = mysql_fetch_array($query);
?>
<center><?php echo "<h2>Selamat Datang, $username</h2>"; ?><a href="logout.php"><b>Logout</b></a></center>

Buatlah file dengan nama daftar.php dan isikan dengan code dibawah ini.

<?php session_start();
if(isset($_SESSION['username'])) {
header('location:index.php'); }
?>
<center>
<form action="prosesdaftar.php" method="post">
<table>
<tbody>
<tr>
<td colspan="2" align="center">
<h1>Daftar Baru</h1>
</td>
</tr>
<tr>
<td>Username</td>
<td>: <input name="username" type="text" /></td>
</tr>
<tr>
<td>Password</td>
<td>: <input name="password" type="password" /></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" value="Daftar" /> <input type="reset" value="Batal" /></td>
</tr>
<tr>
<td colspan="2" align="center">Sudah Punya akun ? <a href="login.php"><b>Login</b></a></td>
</tr>
</tbody>
</table>
</form>
</center>

Sekarang buat file prosesdaftar.php untuk melakukan proses yang diminta pada file daftar.php.

<?php require_once("koneksi.php");
$username = $_POST['username'];
$pass = $_POST['password'];
$cekuser = mysql_query("SELECT * FROM user WHERE username = '$username'");
if(mysql_num_rows($cekuser) <> 0) {
echo "Username Sudah Terdaftar!";
echo "<a href="daftar.php">&amp;amp;laquo; Back</a>";
} else {
if(!$username || !$pass) {
echo "Masih ada data yang kosong!";
echo "<a href="daftar.php">&amp;amp;laquo; Back</a>";
} else {
$simpan = mysql_query("INSERT INTO user(username, password) VALUES('$username','$pass')");
if($simpan) {
echo "Pendaftaran Sukses, Silahkan <a href="login.php">Login</a>";
} else {
echo "Proses Gagal!";
}
}
}
?>

Selanjutnya adalah membuat file login.php dengan kode dibawah.

<?php session_start();
if(isset($_SESSION['username'])) {
header('location:index.php'); }
require_once("koneksi.php");
?>
<center>
<form action="proseslogin.php" method="post">
<h1>Masuk</h1>
<table>
<tbody>
<tr>
<td>Username</td>
<td>: <input name="username" type="text" /></td>
</tr>
<tr>
<td>Password</td>
<td>: <input name="password" type="password" /></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" value="Login" /> <input type="reset" value="Batal" /></td>
</tr>
<tr>
<td colspan="2" align="center">Belum Punya akun ? <a href="daftar.php"><b>Daftar</b></a></td>
</tr>
</tbody>
</table>
</form>
</center>

Agar file login dapat berjalan buatlah file proseslogin.php dengan kode dibawah.

<?php session_start();
require_once("koneksi.php");
$username = $_POST['username'];
$pass = $_POST['password'];
$cekuser = mysql_query("SELECT * FROM user WHERE username = '$username'");
$jumlah = mysql_num_rows($cekuser);
$hasil = mysql_fetch_array($cekuser);
if($jumlah == 0) {
echo "Username Belum Terdaftar!";
echo "<a href="login.php">? Back</a>";
} else {
if($pass <=> $hasil['password']) {
echo "Password Salah!
";
echo "<a href="login.php">&amp;amp;laquo; Back</a>";
} else {
$_SESSION['username'] = $hasil['username'];
header('location:index.php');
}
}
?>

Dan yang terakhir adalah membuat file logout.php untuk menghapus session yang telah digunakan, isi dengan kode dibawah.

<?php session_start();
unset($_SESSION['username']);
?>
<h2>Anda telah berhasil logout..</h2>
Silahkan klik <b>disini</b> untuk login kembali

Pada Cara Membuat Form Daftar, Login dan Logout dengan PHP MySQL ini digunakan fungsi session dan method POST. Baca juga Fungsi dan Perbedaan Method POST dan GET pada PHP.

Published by

amri

Seorang penulis blog yang suka meng-kode juga suka musik dan otomotif. Nah lho bingung kan wkwkwk

0 thoughts on “Cara Membuat Form Daftar, Login dan Logout dengan PHP MySQL”

  1. mas di proses login yang
    nggak bisa
    jadinya
    Warning: mysql_num_rows() expects parameter 1 to be resource, string given in C:XAMPPhtdocsadminproseslogin.php on line 7
    Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in C:XAMPPhtdocsadminproseslogin.php on line 8
    Username Belum Terdaftar!
    &laquo; Back

    1. salahnya disini : $cekuser = mysql_query(“SELECT * FROM user WHERE username = ‘$username'”);
      Udah bener belum nama tabel sama field-nya ? Coba dicek lagi.

      1. Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/u857966335/public_html/prosesdaftar.php on line 6

  2. Warning: mysql_connect(): Access denied for user ‘root’@’localhost’ (using password: NO) in /home/u462929255/public_html/koneksi.php on line 6 Koneksi Gagal!
    kesalahan di koneksi.php kenapa tuh gan ?
    nih isi line 6 nya
    $konek = mysql_connect($host, $user, $pass) or die (‘Koneksi Gagal! ‘);

    1. Udah ketemu belum masalahnya ? masalahnya ada disini :
      $host = “localhost”;
      $user = “root”;
      $pass = “”;
      $db = “latihan”;
      silahkan cocokan user dan pass database kamu. šŸ™‚

  3. Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/u851260121/public_html/prosesdaftar.php on line 6 Proses Gagal!

    1. Kesalahan terjadi karena script tidak bisa menemukan isi tabel dari database.
      Kemungkinan:
      1. Salah script, perhatikan sebelum baris ke 6, syarat dari isi tabel yang mau diambil. Perhatikan juga penulisan field2 pada tabel.
      2. Jika script telah dicoba dan berjalan lancar di localhost, tetapi bermaslaah di hosting, perhatikan versi PHP dari server local dg versi PHP di server hosting

        1. $host = “localhost”; < - hostnamenya, $user = "root"; <- username mysql, $pass = ""; <- password mysql, $db = "latihan"; <- nama databasenya, $konek = mysql_connect($host, $user, $pass) or die ('Koneksi Gagal! '); <- untuk menghubungkan php ke database, jika gagak maka yang akan tampil adalah "Koneksi Gagal!", mysql_select_db($db); <- ini perintah untuk memilih database yang digunakan.

  4. Apabila langkah diatas telah dilalui berati database telah selesai dibuat dan siap digunakan. Langkah berikutnya adalah membuat form dan proses PHP ke database MySQL.
    maksud ny apa??
    kolom ane udh jdi tpi kg tau link ny -_-
    tolong penjelasan ny gan di mana taro
    koneksi.php
    index.php
    daftar.php
    prosesdaftar.php
    login.php
    proseslogin.php
    logout.php

  5. kok seperti ini yah pas di klick index.phpnya ?
    Warning: mysql_connect(): Access denied for user ‘marve’@’localhost’ (using password: YES) in /home/u843027118/public_html/koneksi.php on line 6 Koneksi Gagal!

        1. di file “koneksi.php” itu ada pass=”” yang artinya password kosong karena di pengaturan phpMyAdmin saya memang tidak memberikan password.
          Menurut analisa warning diatas mysql anda yang ber-user ‘marve’ itu menggunakan password. Maka isikan password mysqlnya di antara tanda petik pass=””.

  6. Warning: mysql_connect(): Access denied for user ‘root’@’localhost’ (using password: NO) in /home/u691054298/public_html/koneksi.php on line 6 Koneksi Gagal!

  7. Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/u691054298/public_html/proseslogin.php on line 7 Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/u691054298/public_html/proseslogin.php on line 8 Username Belum Terdaftar!
    &laquo; Back
    jadi gini

    1. Mantab jQuery nya. Untuk CSS nya bisa disesuaikan sendiri. Itu lupa harusnya di logout.php di kasih header redirect ke home login lagi, biar otomatis setelah logut kembali ke home.

  8. bang? ini kok begini ya :/
    Warning: mysql_connect(): Access denied for user ‘root’@’localhost’ (using password: NO) in /home/u868095046/public_html/koneksi.php on line 6 Koneksi Gagal!
    ——–
    Itu kenapa bang šŸ™

  9. Parse error: syntax error, unexpected T_LNUMBER in /home/u857966335/public_html/prosesdaftar.php on line 6
    Kenapa boz ??
    Punya akun FB gak ??
    atau contoh hasilnya ??

  10. kenapa pas prosesdaftar.php dijalankan hasilnya:
    0) { echo “Username Sudah Terdaftar!
    “; echo “&laquo; Back”; } else { if(!$username || !$pass) { echo “Masih ada data yang kosong!
    “; echo “&laquo; Back”; } else { $simpan = mysql_query(“INSERT INTO user(username, password) VALUES(‘$username’,’$pass’)”); if($simpan) { echo “Pendaftaran Sukses, Silahkan Login”; } else { echo “Proses Gagal!”; } } } ?>

  11. Warning: require_once(koneksi.php): failed to open stream: No such file
    or directory in /home/u457371970/public_html/latihan/login.php on line 5
    Fatal error: require_once(): Failed opening required ‘koneksi.php’
    (include_path=’.:/usr/lib/php’) in
    /home/u457371970/public_html/latihan/login.php on line 5
    itu kenapa

  12. Warning: require_once(koneksi.php): failed to open stream: No such file
    or directory in /home/u457371970/public_html/latihan/login.php on line 5
    Fatal error: require_once(): Failed opening required ‘koneksi.php’
    (include_path=’.:/usr/lib/php’) in
    /home/u457371970/public_html/latihan/login.php on line 5 kenapa broooooo

  13. Kalau melihat web.agan tertarik banget gan. pengen buat form registrasi, login, n logout. tapi jadi persoalan sy tidak tahu menahu persoalan web. saya sudah beli hosting dan domain. saya masih bingung untuk membuat ke7 file diatas (tidak tahu lokasi dimana saya membuat file tersebut) saya pake CMS WP. di hosting pilih file manager > …. ? bingung apakah saya buat folder baru atau buat di folder di public_html ? mohon jawabannya ya min. kemudian jika semua langkah diatas selesai bagaimana cara menampilkannya di website saya. sebagai contoh lihat di sudut kanan atas di web ini (http://id.forums.wordpress.org/topic/tanya-cara-membuat-form-login-dan-register-pada-forum) ? Mohon pencerahannya ya, Maklum pertanyaannya Nuwbi sekali karena memang saya masih Nuwbi gan. šŸ˜€

  14. Kalo Ini Kenapa Bang :
    Warning: mysql_connect(): Access denied for user ‘shola’@’localhost’ (using password: YES) in /home/u914945844/public_html/koneksi.php on line 6 Koneksi Gagal!

  15. Anda Ingin Bebas Finansial..??
    Ingin Uang Mengalir Terus ke Rekening Anda..?? Apakah Anda
    Ingin Memiliki Penghasilan Tanpa Batas..?? Ingin Merubah Hidup Anda Saat ini
    Juga..??
    INILAH SOLUSI TEPAT UNTUK ANDA, Memperkenalkan SOFTWARE
    PENAMBAH SALDO REKENING
    Temukan Info Selengkapnya Disini :
    http://goo.gl/nh8Y47
    081273339299
    Terimakasih

  16. Mas kenapa ko proses loginnya gak mau langsung redirect ke file yang dituju ? salah dimana ya mas ? ketika login terus langsug kosong layarnya, gak otomatis ke file yg dituju,

  17. Warning: mysql_connect(): Access denied for user ‘shola’@’localhost’ (using password: YES) in /home/u750238856/public_html/koneksi.php on line 6 Koneksi Gagal!
    Knp Ya?

  18. Warning: mysql_num_rows() expects parameter 1 to be resource, boolean
    given in /home/u608065732/public_html/prosesdaftar.php on line 6
    Proses Gagal!
    Gimana caranya tuh!!

  19. Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:xampphtdocsAL-AMANprosesdaftar.php on line 6
    Proses Gagal!
    past daftar gtu terus gan

      1. Lihat diatasnya ada $cekuser = mysql_query(“SELECT * FROM user WHERE username = ‘$username'”);
        Udah bener? username ? di database juga?
        dan di daftar.php juga….
        Coba dicek lagi. šŸ™‚

    1. cek lagi datanya yang di mysql mas, sepertinya ada yang tidak cocok dengan yang anda tulis di phpnya :
      maaf saya hanya pangunjung web ini juga šŸ™‚

  20. Maaf mas, kok tiap Daftar gabisa ya. Proses Gagal! terus. apa databasenya gabisa? saya pake MyISAM bukan InnoDB.

    1. sebaikya di ganti ke innoDB, itu lebih memudahkan mas,,,
      maaf2 saya hanya pengunjung web, tapi coba untuk sharing aja šŸ™‚

        1. astaga, lah tinggal masuk ke firefox, lalu ketik, contoh:
          localhost/blabla/blabla/koneksi.php
          lalu enter
          udah tinggal liat hasilnya ga. (y)

    1. maaf y, pengen share dikit, kalau pada saat daftra gagal terus itu cuba di cek lagi panggalan code pada proses daftarnya, pasti ada yang salah atau kurang ataupun kelebihan dalam penulisan. šŸ™‚

    1. Scriptnya sebenernya mirip2 dengan proses daftar hanya melakukan permisalan aja… jika form kosong maka lewati dan jika benar maka menjalankan perintah “UPDATE” ke mysql…. lengkapnya ntar tak post kalo mau….

    2. Scriptnya sebenernya mirip2 dengan proses daftar hanya melakukan permisalan aja? jika form kosong maka lewati dan jika benar maka menjalankan perintah ?UPDATE? ke mysql?. lengkapnya ntar tak post kalo mau?.

          1. kalo gini gimana om??
            Parse error: syntax error, unexpected ‘;’ in C:xampphtdocslatihanprosesdaftar.php on line 5

  21. mas bro,, ko gagal trus pas mau loginnya. keluar sintak begini
    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:xampphtdocslatihanindex.php on line 9
    Selamat Datang, admin Logout
    mhon pencerahanya mas bro,,,

  22. “Sebelum ke pembuatan form daftar dan login saya minta untuk membuat file koneksi.php untuk menghubungkan ke database, dengan kode dibawah ini.
    #code#PiZsdDs/cGhwPGJyIC8+CiRob3N0ID0gImxvY2FsaG9zdCI7PGJyIC8+CiR1c2VyID0gInJvb3QiO”
    mau di suruh ganti user atau password database yang benar ya nggak bakal nemu šŸ˜› masalahnya kode koneksi.php yang di kasih di encrypt šŸ˜› cara ganti nya gemana dong kalo di encrypt šŸ˜›

  23. $host = “localhost”;
    $user = “root”;
    $pass = “”;
    $db = “demo”;
    $konek = mysql_connect($host, $user, $pass) or die (‘Koneksi Gagal! ‘);
    mysql_select_db($db);

  24. Parse error: syntax error, unexpected ‘logout’ (T_STRING), expecting ‘,’ or ‘;’ in C:xampphtdocsbelajar_phpindex.php on line 20
    Begitu errornya.
    Terus itu kode koneksi.php seperti itukah?

  25. mau tanya kalau membuat supaya kalo mau ngeakses koneksi, logout, dll itu gimana yak? kecuali register. jadi orang lain cuman bisa ngeakses yang register..

  26. ijin kenyot gan.. hahaayy, bytheway, artikel ente membantu banget, apalagi buat orang newbie.. thank u so much

  27. gan ini error kenap ya ? Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:xampphtdocstugasprosesdaftar.php on line 6
    Proses Gagal!

  28. mau tanya gan ,kenapa pada saat log in ,password salah terus , padahal email dan password sudah terdaftar dan sudah masuk database, mohon pencerahan šŸ™‚

  29. bos,,kalo field nya banyak harus saya pake berarti di phpmyadminnya harus saya sesuaikan ya ?dan di file lain harus saya tambahkan sesuai dengan kebutuhan ya ?

  30. Parse error: syntax error, unexpected T_STRING in /home/u113082005/public_html/index.php on line 3
    kalo itu kenapa??

  31. prosesdaftar.php dan proseslogin.php penulisan nya ada yang salah gak?
    kok ada peringatan ada salah penulisan saat di di jalankan?
    padahal sudah di ketikan sesuai dengan postingan di atas..
    beri penjelasan ya!!

  32. bos… klo kayak gini gmana?
    “Cannot modify header information – headers already sent by (output started at C:xampphtdocskpproseslogin.php:9) in C:xampphtdocskpproseslogin.php on line 28”

  33. Koneksi dengan MySQL berhasil
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:xampphtdocscrmotentifikasi.php on line 8
    Login Berhasil. Kalau begini bagaimana gan..??????????

  34. Parse error: syntax error, unexpected ‘;’ in /home/silentchild/public_html/admin/prosesdaftar.php on line 5
    kenapa gan?

  35. Bang, ini membantu sekali ya tapi masih ada satu kekurangan, ini nih -> if(mysql_num_rows($cekuser) <> 0) { di line 5 prosesdaftar.php kira2 kenapa ya? Mohon bantuannya ya.
    Btw amazing post, very like it tbh.

      1. proseslogin.php & prosesdaftar.php bang yang nggak bisa padahal udah step by step sama persis sama nama database, field tabel dll šŸ™
        proseslogin.php errornya gini Parse error: syntax error, unexpected ‘login’ (T_STRING), expecting ‘,’ or ‘;’ in C:xampphtdocscustomerproseslogin.php on line 10
        prosesdaftar.php yang ini -> if(mysql_num_rows($cekuser) 0) { di line 5
        Makasih banyak bang ditunggu answernya šŸ™‚

      2. om, pas daftar error begini
        Parse error: syntax error, unexpected ‘;’ in C:xampphtdocslatihanprosesdaftar.php on line 5

    1. untuk buat file php bisa pakai dreamweaver atau pun notepad++ tapi ketika penyimpanan ekstensi filenya harus diberi .php contohnya nama file nya index.php

  36. nih error gan
    Parse error: syntax error, unexpected ‘;’ in C:xampphtdocsPerpusmultiprosesdaftar.php on line 5
    mohon bantuannya donk….

  37. mas cara meletakkan file
    koneksi.php
    index.php
    daftar.php
    prosesdaftar.php
    login.php
    proseslogin.php
    logout.php
    nya dimana ya mohon bantuannya mas?

  38. kalau program database nya kayak gini
    } else {
    echo “Proses Gagal!”;
    }
    }
    }
    ?>
    ni cuman bisa simpan 1 user di database phpmyadmin…??

  39. gan mohon pencerahannya, saya sudah lakukan langkah” sma persis tapi kok masih g bisa ya, mohon bantuannya gan, terima kasih

  40. ini knapa kak
    Fatal error: Call to undefined function mysql_connect() in D:xamppinhtdocstbkoneksi.php on line 6

  41. semua udah jalan sesuai aturan kecuali saat login, yg terproses malah password salah terus,, mohon pencerahan bro.

    1. berarti laman tujuan linknya tidak ditemukan kalau bukan berarti berbeda nama antara nama di link sama nama filenya. Coba di cek nama di link sama nama filenya kali aja typo

  42. gan, itu satu baris kode yg diatas tulisan “Buatlah file dengan nama daftar.php dan isikan dengan code dibawah ini.” jd satu file dgn index.php ?

  43. Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:xampphtdocsformloginkoneksi.php:6 Stack trace: #0 C:xampphtdocsformloginlogin.php(4): require_once() #1 {main} thrown in C:xampphtdocsformloginkoneksi.php on line 6
    kalo seperti ini, gmn bang?

  44. proses loginnya error um muncul kaya gini
    Parse error: parse error, expecting `’,” or `’;” in C:xampphtdocsdinamisAdminNew folderproseslogin.php on line 10

  45. kalo kaya di bawah ini salah apa nya yaa.
    Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:xampphtdocslatihankoneksi.php:5
    Stack trace:
    #0 C:xampphtdocslatihanindex.php(5): require_once()
    #1 {main}
    thrown in C:xampphtdocslatihankoneksi.php on line 5

  46. masnya kenapa waktu login ngisi username dan password waktu di klik login malah muncul password salah?padalan sudah cocok dengan data yang saya buat dan cocok dengan databaase saya?
    mohon bantuanya dan terimakasih sebelumnya atur nuhun…

    1. coba buka file proseslogin.php. pada baris 12 ganti ” dengan ‘!=’. Hilangkan petik satunya. semoga berhasil

  47. mas mau tanya kenapa muncul error seperti ini ya :
    Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:xampphtdocsloginkoneksi.php:1 Stack trace: #0 C:xampphtdocsloginlogin.php(4): require_once() #1 {main} thrown in C:xampphtdocsloginkoneksi.php on line 1

  48. gan ini salah di mana ?
    if($pass $hasil[‘password’])
    Parse error: syntax error, unexpected ‘>’ in C:xampphtdocsLoginproseslogin.php on line 15

  49. Mas kenapa saya login gak bisa ? padahal saya gak isi passwordnya kenapa gak bisa login ya ? mohon pencerahanya mastah.
    Terus database nya disaya kok gaada ya saya cari di locahhost.phpmyadmin malah adanya tulisan phpmyadmin yah ?

  50. Mas ini dimana ya error nya
    Parse error: syntax error, unexpected’daftar'(T_STRING), expecting’,’ or ‘;’ in C:xampp9htdocsaprosesdaftar.php on line 7

  51. saya adalah laki-laki tulen normal tertarik juga dengan lawan jenis,saya tertarik dengan php,html,css,java script maupun java dan saya pun penyanyang.saya sering mandi,makan sering,saya pun tidur siang dan malam…

  52. Satu masalh lagi sya punya login kok tdk bisa padahal saya punya username dan pswrd saya isinya admin tapi tidak konek eh malah alert tidak lodin ke admisiatrator

Leave a Reply