Skip to main content

Cara Membuat Login PHP + MYSQL

Cara membuat halaman login menggunakan PHP / MySQL. Fitur-fitur dari halaman login saya mengandung validasi input menggunakan sesi PHP. Salah satu fitur unik juga dengan halaman login saya adalah logout fungsi, itu unik karena tidak seperti dengan halaman login yang lain setelah pengguna mengklik tombol logout dan klik tombol belakang browser, sistem mereka memungkinkan pengguna untuk kembali seolah-olah masih login, yang tidak sesuai untuk alasan keamanan. Tapi di halaman login saya setelah pengguna mengklik tombol logout, pengguna tidak bisa lagi kembali ke halaman sebelumnya. Satu-satunya cara untuk kembali ke halaman sebelumnya adalah untuk login lagi.

Untuk memulai tutorial ini mari kita ikuti beberapa langkah di bawah ini.
Buat Lah Database
1. Buka phpmyadmin
2. Buatlah Database Baru
3. Kemudian nama database sebagai "simple_login".
4. Setelah membuat nama database, klik SQL dan paste kode berikut.
Code :


1.  CREATE TABLE IF NOT EXISTS `member` (
2.    `mem_id` int(11) NOT NULL AUTO_INCREMENT,
3.    `username` varchar(30) NOT NULL,
4.    `password` varchar(30) NOT NULL,
5.    `fname` varchar(30) NOT NULL,
6.    `lname` varchar(30) NOT NULL,
7.    `address` varchar(100) NOT NULL,
8.    `contact` varchar(30) NOT NULL,
9.    `picture` varchar(100) NOT NULL,
10.  `gender` varchar(10) NOT NULL,
11.  PRIMARY KEY (`mem_id`)
12.) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

Setelah Langkah Tersebut Dilanjutkan Dengan Membuat Form
Langkah selanjutnya adalah untuk membuat form dan menyimpannya sebagai index.php. Untuk membuat formu, buka editor raka web page maker dan paste kode di bawah ini di bagian atas dokumen atau di atas tag html. Kode di bawah ini digunakan untuk melarang pengguna untuk kembali seolah-olah masih login
Code

1.  <?php
2.    //Start session
3.    session_start();       
4.    //Unset the variables stored in session
5.    unset($_SESSION['SESS_MEMBER_ID']);
6.    unset($_SESSION['SESS_FIRST_NAME']);
7.    unset($_SESSION['SESS_LAST_NAME']);
8.  ?>

Setelah Itu Pastekan Kode Ini Dibawah Season Di atas Tadi

1.  <form name="loginform" action="login_exec.php" method="post">
2.  <table width="309" border="0" align="center" cellpadding="2" cellspacing="5">
3.    <tr>
4.      <td colspan="2">
5.           <!--the code bellow is used to display the message of the input validation-->
6.            <?php
7.                   if( isset($_SESSION['ERRMSG_ARR']) && is_array($_SESSION['ERRMSG_ARR']) && count($_SESSION['ERRMSG_ARR']) >0 ) {
8.                   echo '<ul class="err">';
9.                   foreach($_SESSION['ERRMSG_ARR'] as $msg) {
10.                         echo '<li>',$msg,'</li>'; 
11.                         }
12.                 echo '</ul>';
13.                 unset($_SESSION['ERRMSG_ARR']);
14.                 }
15.         ?>
16.  </td>
17.  </tr>
18.  <tr>
19.    <td width="116"><div align="right">Username</div></td>
20.    <td width="177"><input name="username" type="text" /></td>
21.  </tr>
22.  <tr>
23.    <td><div align="right">Password</div></td>
24.    <td><input name="password" type="text" /></td>
25.  </tr>
26.  <tr>
27.    <td><div align="right"></div></td>
28.    <td><input name="" type="submit" value="login" /></td>
29.  </tr>
30.</table>
31.</form>


Langkah selanjutnya adalah membuat koneksi database dan menyimpannya Dengan Nama "connection.php". File ini digunakan untuk menghubungkan form Index  ke database.
Code

1.  <?php
2.  $mysql_hostname = "localhost";
3.  $mysql_user = "root";
4.  $mysql_password = "";
5.  $mysql_database = "simple_login";
6.  $prefix = "";
7.  $bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database");
8.  mysql_select_db($mysql_database, $bd) or die("Could not select database");
9.  ?>

Setelah Kita Membuat Koneksi dan Design Form Kita Akan Membuat Proses Dari Login Tadi, Dan Kita Simpan Dengan Nama  login_exec.php
Code

1.  <?php
2.    //Start session
3.    session_start();
4.   
5.    //Include database connection details
6.    require_once('connection.php');
7.   
8.    //Array to store validation errors
9.    $errmsg_arr = array();
10. 
11.  //Validation error flag
12.  $errflag = false;
13. 
14.  //Function to sanitize values received from the form. Prevents SQL injection
15.  function clean($str) {
16.         $str = @trim($str);
17.         if(get_magic_quotes_gpc()) {
18.                 $str = stripslashes($str);
19.         }
20.         return mysql_real_escape_string($str);
21.  }
22. 
23.  //Sanitize the POST values
24.  $username = clean($_POST['username']);
25.  $password = clean($_POST['password']);
26. 
27.  //Input Validations
28.  if($username == '') {
29.         $errmsg_arr[] = 'Username missing';
30.         $errflag = true;
31.  }
32.  if($password == '') {
33.         $errmsg_arr[] = 'Password missing';
34.         $errflag = true;
35.  }
36. 
37.  //If there are input validations, redirect back to the login form
38.  if($errflag) {
39.         $_SESSION['ERRMSG_ARR'] = $errmsg_arr;
40.         session_write_close();
41.         header("location: index.php");
42.         exit();
43.  }
44. 
45.  //Create query
46.  $qry="SELECT * FROM member WHERE username='$username' AND password='$password'";
47.  $result=mysql_query($qry);
48. 
49.  //Check whether the query was successful or not
50.  if($result) {
51.         if(mysql_num_rows($result) > 0) {
52.                 //Login Successful
53.                 session_regenerate_id();
54.                 $member = mysql_fetch_assoc($result);
55.                 $_SESSION['SESS_MEMBER_ID'] = $member['mem_id'];
56.                 $_SESSION['SESS_FIRST_NAME'] = $member['username'];
57.                 $_SESSION['SESS_LAST_NAME'] = $member['password'];
58.                 session_write_close();
59.                 header("location: home.php");
60.                 exit();
61.         }else {
62.                 //Login failed
63.                 $errmsg_arr[] = 'user name and password not found';
64.                 $errflag = true;
65.                 if($errflag) {
66.                         $_SESSION['ERRMSG_ARR'] = $errmsg_arr;
67.                         session_write_close();
68.                         header("location: index.php");
69.                         exit();
70.                 }
71.         }
72.  }else {
73.         die("Query failed");
74.  }
75.?>

Langkah selanjutnya adalah membuat file otentikasi dan menyimpannya sebagai auth.php  Kode ini digunakan untuk melarang pengguna untuk kembali seolah-olah masih login

Code

1.  <?php
2.    //Start session
3.    session_start();
4.    //Check whether the session variable SESS_MEMBER_ID is present or not
5.    if(!isset($_SESSION['SESS_MEMBER_ID']) || (trim($_SESSION['SESS_MEMBER_ID']) == '')) {
6.           header("location: index.php");
7.           exit();
8.    }
9.  ?>

Langkah Terakhir adalah Membuat URL Tujuan Yaitu Home.php , Copykan Skrip Dibawah Ini dan Simpan
Code

1.  <?php
2.    require_once('auth.php');
3.  ?>
4.  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5.  <html xmlns="http://www.w3.org/1999/xhtml">
6.  <head>
7.  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
8.  <title>Untitled Document</title>
9.  <style type="text/css">
10.<!--
11..style1 {
12.  font-size: 36px;
13.  font-weight: bold;
14.}
15.-->
16.</style>
17.</head>
18. 
19.<body>
20.<p align="center" class="style1">Login successfully </p>
21.<p align="center">This page is the home, you can put some stuff here......</p>
22.<p align="center"><a href="index.php">logout</a></p>
23.</body>
24.</html>

Tunggu Tutorial Berikutnya.
by : Raka Adi Nugroho

Comments

  1. username dan password buat loginnya apa yah mas?

    ReplyDelete
    Replies
    1. itu di isi dulu di bagian database mysqlnya.
      baru bisa login.

      Delete

Post a Comment

Popular posts from this blog

Membuat Login Register Dengan Verifikasi Email PHP MySQL

selamat siang, sudah dua bulan tidak memberikan update, setelah terakhir update masalah nodejs dan angular . kali ini saya akan berbagi tutorial. bagaimana cara membuat register dengan php, namun dengan verifikasi email. pertama seperti biasa buatlah database " rakaadinugroho ". setelah itu eksekusi sql dibawah ini: CREATE TABLE IF NOT EXISTS `pengguna` (   `id` int(1) NOT NULL AUTO_INCREMENT,   `nama` varchar(225) COLLATE utf8_unicode_ci NOT NULL,   `password` varchar(225) COLLATE utf8_unicode_ci NOT NULL,   `email` varchar(225) COLLATE utf8_unicode_ci NOT NULL,   `kode` varchar(225) COLLATE utf8_unicode_ci NOT NULL,   `status` int(1) NOT NULL DEFAULT '0',   PRIMARY KEY (`id`),   UNIQUE KEY `email` (`email`) ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ; setelah itu buat file konektornya, buat " koneksi.php ". kodenya seperti dibawah ini: <?php mysql_connect("localhost","root",&qu

Source Code Kuesioner Mahasiswa Online PHP+MySQL+Bootstrap

Alhamdulillah, selamat pagi. salam sejahtera bagi kita semua terutama pengunjung raka adi nugroho blogs. Pengumuman! Aplikasi Kuesioner Semakin Berkembang. Update Apa Saja? - Perubahan Besar-besaran, ditulis dengan Framework CI - Struktur yang sangat berbeda, Kuesioner Pertopik dan Per Sub Topik - Jadi, Jika Anda Membeli. Anda Akan Mendapatkan 2 Aplikasi Kuesioner pagi ini, setelah lama vakum karena mengerjakan projek yang akan saya update kali ini. yaitu projek tugas akhir yang katanya sulit rumit dan susah . yaitu software kajian kuesioner mahasiswa online untuk mengambil hak angketnya terhadap kualitas dosen disebuah universitas. langsung saja, disini saya menggunakan bootstrap agar lebih stylish Diatas adalah gambar dari Databasenya Diatas adalah Gambar Login pemilik Hak Angket Gambar, Pendaftaran Hak Angket Gambar Berhasil Login Gambar Kuesionernya I Gambar Kuesionernya II Hak Angket Sudah diGunakan Gambar Administrator Area,

MENCARI SUARA: APAKAH SAYA LANJUTKAN TUTORIAL SAYA VIA YOUTUBE

Halo Apakabar teman-teman, baik yang sudah mahir maupun baru memulai masuk dalam dunia pemrograman. saya sudah sangat lama tidak menulis, mungkin karena beberapa kesibukan saya. ditulisan ini saya ingin meminta pendapat pembaca, apakah lebih baik saya menulis tutorial di blog atau membuat tutorial video ( upload youtube ). dan konten yang harus saya isi di 2017 ini apa, mohon komentarnya. :D