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

Cara Membuat Proxy Checker Dengan VB.NET

Pertama kita perlu Impor dua paket, satu untuk menggunakan StreamReader dan StreamWriter dan lain untuk menggunakan HttpWebRequest dan HttpWebResponse. 1.   Imports System.IO 2.   Imports System.Net Tambahkan listbox dan tiga tombol. Listbox akan berisi laporan masing-masing proxy dan tombol akan untuk; Mulai checker, Mengekspor semua laporan dan Mengekspor laporan kerja Pertama mari kita membuat script awal. Mari kita membuat OpenFileDialog untuk memilih daftar proxy dan memeriksa jalur ini tidak ada / null / kosong:

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",...

Download Pilketos System - Digital Pemilu Elektronik [Opensource]

Puji Syukur kehadirat Allah SWT yang telah memberikan banyak sekali limpahan hidayah kepada kita semua. Untuk pertama kalinya akhirnya  Software Pemilu Digital disebarluaskan  untuk  terus dikembangkan,  kali  ini  Joskoding Indonesia(JakriDev) sebagai pemilik lisensi membuka kode untuk para pengembang yang ingin melanjutkan Pilketos System. 2013 silam untuk keperluan pemilu kecil di sebuah sekolah, lambat laun ternyata aplikasi jenis ini berkembang dan banyak digunakan. Oleh karena itu saya pribadi berharap aplikasi ini dapat ikembangkan secara bersama-sama kedepannya. software ini sempat menerima beberapa kecupan dari mediamasa :) [salah satunya :)] silahkan digunakan gan/ganwati. untuk yang butuh/mau berkontribusi, bertanya silahkan bertanya di www.joskoding.com  atau hubungi saya via fb/sms. BUKU MANUALNYA DOWNLOAD DISINI APLIKASINYA DOWNLOAD DISINI