SlideShare a Scribd company logo
1 of 7
Download to read offline
Membuat Login dengan PHP dan MySQL
                            Oleh Achmad Solichin
                            Create : 03 Januari 2004

Aplikasi login User dalam suatu situs dinamis menggunakan php sudah hampir
menjadi kebutuhan wajib. Tanpa adanya login rasa-rasanya ada yang kurang dari
suatu situs. Dengan login kita bisa mengatur siapa saja yang berhak masuk ke
halaman tertentu dan siapa saja yang tidak boleh. Disamping itu secara tidak
langsung, login bisa digunakan untuk mencatat siapa saja yang sedang online, siapa
saja yang sering mengunjungi situs kita dan seterusnya.

OK basa-basinya udahan deh, kita mulai saja. Kita lihat dulu apa yang diperlukan
untuk membuat aplikasi login user ini :
   1. PHP 4.0 atau lebih.
   2. Webserver, bisa pake Apache, IIS, PWS atau yang lain yang support PHP
   3. Database server MySQL
   4. Editor, disarankan pake Dreamweaver MX untuk lebih mudahnya atau pake
      Notepad jika pengin buat secara manual.
   5. Dan tentunya harus ada niat, harus ada waktu dan harus ada kemauan.


Membuat Tabel yang Diperlukan

Pertama-tama mari kita buat dulu tabel yang diperlukan dengan MySQL. Di sini saya
contohkan tabel user dengan field sbb :

  Nama Field     Type                  Panjang
  username       Varchar               20
  nama           Varchar               30
  password       Varchar               50

Jika diperlukan, bisa ditambahkan field yang lain. Mari langsung aja buat query-nya
di MySQL :

CREATE TABLE `user` (`username` VARCHAR (20) NOT NULL, `nama` VARCHAR
(30) NOT NULL, `password` VARCHAR (50) NOT NULL, PRIMARY
KEY(`username`), UNIQUE(`username`));

Catatan : Khusus di FTI Hosting, kita bisa dengan mudah membuat tabel di atas
dengan fasilitas MySQL manager.

Setelah table berhasil dibuat, kemudian isi dengan beberapa data (record) sebagai
contoh. Misalnya dengan perintah sbb :

INSERT INTO user VALUES ('achma', 'Achmad Solichin', 'nasigoreng');
INSERT INTO user VALUES ('okti', 'Okti Ragil', 'ragils');
INSERT INTO user VALUES ('sri', 'Sri Widhiyanti', 'sri');

Catatan : Di sini, field password tidak dienkript terlebih dahulu. Jika Anda
menginginkan field password ini dienkript bisa menggunakan fungsi password()
atau fungsi md5() dari MySQL.
Membuat Tampilan Awal Login

Buatlah file dengan nama login.php sebagai tampilan awal halaman login, sebagai
berikut :

<html>
<head>
<title>Login here</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
table {
        font-family: Verdana, Arial, Helvetica, sans-serif;
        font-size: 11px;
}
input {
        font-family: Verdana, Arial, Helvetica, sans-serif;
        font-size: 11px;
        height: 20px;
}
-->
</style>
</head>

<body>
<div align="center">
<form action="periksa.php" method="post" name="login">
  <table width="286" border="0" cellpadding="0" cellspacing="0">
   <!--DWLayoutTable-->
   <tr bgcolor="#FF6633">
   <td height="19" colspan="2" align="center" valign="middle">
        <font color="#FFFFFF">LOGIN DI SINI</font></td>
  </tr>
  <tr>
   <td width="106" height="27">&nbsp;</td>
   <td width="180">&nbsp;</td>
  </tr>
  <tr>
     <td height="18" align="right" valign="middle">Username :&nbsp;</td>
   <td valign="middle">
        <input name="username" type="text" id="username" size="20"></td>
  </tr>
  <tr>
     <td height="18" align="right" valign="middle">Password :&nbsp;</td>
   <td valign="middle">
        <input name="password" type="password" id="password" size="20"></td>
  </tr>
  <tr>
   <td height="19">&nbsp;</td>
   <td></td>
  </tr>
<tr>
   <td height="18" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
   <td valign="middle">
        <input name="login" type="submit" id="login" value=" Login "></td>
  </tr>
  <tr>
   <td height="28">&nbsp;</td>
   <td></td>
  </tr>
  <tr bgcolor="#FF6633">
   <td height="18" colspan="2" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
  </tr>
 </table>
</form>
</div>
</body>
</html>

Dari program tampilan awal di atas, kita bisa lihat bahwa program menggunakan
form inputan sbb :
    - username bertype text
    - password bertype password
    - tombol login bertype submit
Jika tombol login ditekan maka isi form akan diproses di halaman periksa.php
sesuai dengan action pada tag form


Membuat Halaman Pemeriksaan Login

Setelah tampilan awal kita buat, maka kita buat halaman pemeriksaan login untuk
memeriksa apakah username dan password yang diinputkan benar atau salah.
Buatlah file dengan nama periksa.php sebagai berikut :

<?php
session_start();
#**************** koneksi ke mysql *****************#
$host = "database";
$user = "0211500314";
$pass = "8925603";
$dbname = "db_0211500314";
$conn = mysql_connect($host,$user,$pass);
if($conn) {
        //select database
        $sele = mysql_select_db($dbname);
        if(!$sele) {
                 echo mysql_error();
        }
}
#***************** akhir koneksi ******************#

#jika ditekan tombol login
if(isset($_POST['login'])) {
$username = $_POST['username'];
         $password = $_POST['password'];
         $sql = mysql_query("SELECT * FROM user WHERE username='$username' &&
password='$password'");
         $num = mysql_num_rows($sql);
         if($num==1) {
                  // login benar //
                  $_SESSION['user'] = $username;
                  $_SESSION['passwd'] = $password;
                  ?><script language="JavaScript">alert('Anda berhasil login');
document.location='berhasil.php'</script><?
         } else {
                  // jika login salah //
                  ?><script language="JavaScript">alert('Username atau password Anda
salah'); document.location='login.php'</script><?
         }
}
?>

Setelah tampilan awal kita buat, kita tinggal periksa apakah username dan password
yang dimasukkan valid atau tidak. Username dan password diterima jika ditemukan
di database. Mari kita analisa program di atas :

Untuk mengaktifkan session kita menggunakan fungsi session_start(). Fungsi ini
sebaiknya diletakkan di awal program (paling atas). Berikutnya lakukan koneksi ke
database MySQL kita, menggunakan username dan password kita. Untuk aplikasi
yang memerlukan koneksi database di setiap halaman, sebaiknya bagian koneksi ini
dimasukkan dalam file khusus, sehingga setiap kita memerlukan koneksi database
kita tinggal panggil filenya langsung menggunakan include atau require. Misalnya
kita simpan sebagai file koneksi.php maka untuk memanggil file tsb kita bisa
menggunakan perintah :

include “koneksi.php”;
atau
require “koneksi.php”;

Setelah koneksi berhasil, maka tinggal kita periksa apakah tombol login yang
terdapat di halaman login.php ditekan atau tidak menggunakan fungsi isset() yaitu:
…..
if(isset($_POST[‘login’]))
……

Jika tombol ditekan maka ambil variable dari form textbox yang diisi oleh user
__dalam hal ini variable username dan password__ dan disimpan dalam variable
sementara. Perhatikan perintah :
……
$username = $_POST[‘username’];
$password = $_POST[‘password’];
……

Kita sudah mendapatkan variable username dan password, selanjutnya kita periksa
apakah username dan password ini sesuai dengan data yang ada di database. Kita
pilih (select) record di tabel user yang sesuai dengan variable username dan
password tsb

……
$sql = mysql_query("SELECT * FROM user WHERE username='$username' &&
        password='$password'");
$num = mysql_num_rows($sql);
……
Fungsi mysql_query() digunakan untuk mengeksekusi suatu query atau perintah
mysql, jadi seolah-olah kita mengetikkan perintah secara langsung di prompt mysql.
Sedangkan fungsi mysql_num_rows() digunakan untuk menghitung jumlah record
yang dihasilkan dari suatu perintah (query ) mysql. Dalam program di atas, variable
$num akan berisi jumlah record yang dihasilkan dari $sql. Isi variable $num ini kita
gunakan untuk memeriksa apakah username dan password benar-benar berada di
tabel user. Jika ditemukan tepat 1 record maka username dan password benar dan
redirect halaman berhasil.php. Namun jika tidak ditemukan, maka berarti
username dan atau passwordnya salah, kembalikan ke halaman login.php. Untuk
redirect di sini menggunakan javascript. Perhatikan potongan program berikut :
…….
if($num==1) {
    // login benar //
    $_SESSION['user'] = $username;
    $_SESSION['passwd'] = $password;
    ?><script language="JavaScript">alert('Anda berhasil login');
    document.location='berhasil.php'</script><?
} else {
    // jika login salah //
    ?><script language="JavaScript">alert('Username atau password Anda salah');
    document.location='login.php'</script><?
}
…….

Jika berhasil, sebelum diredirect ke halaman berhasil.php maka terlebih dahulu kita
set variable session bernama $_SESSION[‘user’] dan $_SESSION[‘passwd’]. Variabel
session ini digunakan untuk memeriksa apakah user tertentu berhak masuk ke suatu
halaman ataukah tidak.

Membuat Halaman untuk Login berhasil dan halaman logout

Jika login berhasil maka user akan masuk ke halaman berhasil.php. Isi dari halaman
ini ya tergantung Anda, sesuai dengan halama web Anda. Sebagai contoh sederhana,
mari kita buat halaman sebagai berikut :

<?
session_start();
//periksa apakah user telah login atau memiliki session
if(!isset($_SESSION[‘user’]) || !isset($_SESSION[‘passwd’])) {
     ?><script language=’javascript’>alert(‘Anda belum login. Please login dulu’);
      document.location=’login.php’</script><?
} else {
?>
<html>
<head>
<title>Berhasil</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<table width="746" border="0" cellpadding="0" cellspacing="0">
 <!--DWLayoutTable-->
 <tr>
  <td width="746" height="23" align="center" valign="top"><font face="Verdana, Arial,
Helvetica, sans-serif">Selamat
    Datang <? echo $_SESSION['user'] ?>&nbsp;<a
href="logout.php"><strong>LOGOUT</strong></a></font></td>
  </tr>
 <tr>
  <td height="88">&nbsp;</td>
 </tr>
 <tr align="center" valign="middle">
  <td height="33"><font color="#FF0000" size="5" face="Arial, Helvetica, sans-serif">ANDA
    BERHASIL LOGIN !!</font></td>
 </tr>
 <tr>
  <td height="62">&nbsp;</td>
 </tr>
</table>
</body>
</html>
<? } ?>


Dalam halaman berhasil.php di atas terdapat link yang mengarah ke logout.php. Kita
akan membuat logout.php dimana jika user melakukan logout (meng-klik link logout
di atas) maka session yang dia miliki akan dihapus. Berikut untuk file logout.php :

<?
session_start();
//periksa apakah user telah login atau memiliki session
if(!isset($_SESSION[‘user’]) || !isset($_SESSION[‘passwd’])) {
     ?><script language=’javascript’> document.location=’login.php’</script><?
} else {
     unset($_SESSION);
     session_destroy();
    ?> script language=’javascript’> document.location=’login.php’</script><?
}
?>

Untuk menghapus variable session kita bisa menggunakan fungsi unset() dan
session_destroy(). Setelah session dihapus maka user dikatakan sudah logout dan
tidak bisa masuk ke halaman berhasil.php selama user belum login lagi.


Penutup
Dah dulu ya tutorial ini, jika ada hal-hal yang kurang jelas silahkan ditanyakan
langsung ke Achmad Solichin atau lewat email achma@ftimail dan sh-
001@plasa.com.

Selamat mencoba dan semoga berhasil.


                                  Best Regards
                                   Achmatim

More Related Content

What's hot

Tugas session (hanni si6 b-40)
Tugas session (hanni si6 b-40)Tugas session (hanni si6 b-40)
Tugas session (hanni si6 b-40)hendrawansyah
 
Tugas laporan aplinet (edi,vani,risky)
Tugas laporan aplinet (edi,vani,risky)Tugas laporan aplinet (edi,vani,risky)
Tugas laporan aplinet (edi,vani,risky)Koplak Koplakan
 
Entri, Edit, Delete, Tampil (CRUD) dengan PHP dan Ajax JQuery
Entri, Edit, Delete, Tampil (CRUD) dengan PHP dan Ajax JQueryEntri, Edit, Delete, Tampil (CRUD) dengan PHP dan Ajax JQuery
Entri, Edit, Delete, Tampil (CRUD) dengan PHP dan Ajax JQueryAchmad Solichin
 
Panduan lengkap php ajax j query
Panduan lengkap php ajax j queryPanduan lengkap php ajax j query
Panduan lengkap php ajax j queryapriatin
 
Install joomla di_xampp
Install joomla di_xamppInstall joomla di_xampp
Install joomla di_xamppyoyoqnaliu
 
Cara mudah membuat dan mengonlinekan website ke internet
Cara mudah membuat dan mengonlinekan website ke internetCara mudah membuat dan mengonlinekan website ke internet
Cara mudah membuat dan mengonlinekan website ke internetmeetmecai
 
Wawan tutorial-zend-bagian-5
Wawan tutorial-zend-bagian-5Wawan tutorial-zend-bagian-5
Wawan tutorial-zend-bagian-5Haswi Haswi
 
09071003002 session dan fungsinya
09071003002 session dan fungsinya09071003002 session dan fungsinya
09071003002 session dan fungsinyafebeniken
 
PHP CRUD Database Mysql
PHP CRUD Database MysqlPHP CRUD Database Mysql
PHP CRUD Database MysqlYusuf A.H.
 
Web Programming - Simpan Tampil Customer
Web Programming - Simpan Tampil CustomerWeb Programming - Simpan Tampil Customer
Web Programming - Simpan Tampil CustomerDoni Andriansyah
 
Hitung Ongkos Kirim Menggunakan API rajaongkir.com dengan PHP+JQUERY
Hitung Ongkos Kirim Menggunakan API rajaongkir.com dengan PHP+JQUERYHitung Ongkos Kirim Menggunakan API rajaongkir.com dengan PHP+JQUERY
Hitung Ongkos Kirim Menggunakan API rajaongkir.com dengan PHP+JQUERYYusuf A.H.
 

What's hot (17)

Tugas session (hanni si6 b-40)
Tugas session (hanni si6 b-40)Tugas session (hanni si6 b-40)
Tugas session (hanni si6 b-40)
 
Tugas laporan aplinet (edi,vani,risky)
Tugas laporan aplinet (edi,vani,risky)Tugas laporan aplinet (edi,vani,risky)
Tugas laporan aplinet (edi,vani,risky)
 
Entri, Edit, Delete, Tampil (CRUD) dengan PHP dan Ajax JQuery
Entri, Edit, Delete, Tampil (CRUD) dengan PHP dan Ajax JQueryEntri, Edit, Delete, Tampil (CRUD) dengan PHP dan Ajax JQuery
Entri, Edit, Delete, Tampil (CRUD) dengan PHP dan Ajax JQuery
 
Panduan lengkap php ajax j query
Panduan lengkap php ajax j queryPanduan lengkap php ajax j query
Panduan lengkap php ajax j query
 
Install joomla di_xampp
Install joomla di_xamppInstall joomla di_xampp
Install joomla di_xampp
 
Cara mudah membuat dan mengonlinekan website ke internet
Cara mudah membuat dan mengonlinekan website ke internetCara mudah membuat dan mengonlinekan website ke internet
Cara mudah membuat dan mengonlinekan website ke internet
 
Wawan tutorial-zend-bagian-5
Wawan tutorial-zend-bagian-5Wawan tutorial-zend-bagian-5
Wawan tutorial-zend-bagian-5
 
Cover
CoverCover
Cover
 
Web dinamis
Web dinamisWeb dinamis
Web dinamis
 
09071003002 session dan fungsinya
09071003002 session dan fungsinya09071003002 session dan fungsinya
09071003002 session dan fungsinya
 
Dasar PHP
Dasar PHPDasar PHP
Dasar PHP
 
Cover
CoverCover
Cover
 
PHP CRUD Database Mysql
PHP CRUD Database MysqlPHP CRUD Database Mysql
PHP CRUD Database Mysql
 
Injection sql
Injection sqlInjection sql
Injection sql
 
Web Programming - Simpan Tampil Customer
Web Programming - Simpan Tampil CustomerWeb Programming - Simpan Tampil Customer
Web Programming - Simpan Tampil Customer
 
Hitung Ongkos Kirim Menggunakan API rajaongkir.com dengan PHP+JQUERY
Hitung Ongkos Kirim Menggunakan API rajaongkir.com dengan PHP+JQUERYHitung Ongkos Kirim Menggunakan API rajaongkir.com dengan PHP+JQUERY
Hitung Ongkos Kirim Menggunakan API rajaongkir.com dengan PHP+JQUERY
 
manipulasi data
manipulasi data manipulasi data
manipulasi data
 

Viewers also liked

6. parturient disorders with photos
6. parturient disorders with photos6. parturient disorders with photos
6. parturient disorders with photosavinashbhide2552
 
بوابة التعليم الإلكتروني المباشر
بوابة التعليم الإلكتروني المباشربوابة التعليم الإلكتروني المباشر
بوابة التعليم الإلكتروني المباشرsulaiman1400
 
9 Habits to Nurture Back Your Health
9 Habits to Nurture Back Your Health9 Habits to Nurture Back Your Health
9 Habits to Nurture Back Your HealthJeffrey Pickett
 
5. parturient disorders with photos
5. parturient disorders with photos5. parturient disorders with photos
5. parturient disorders with photosavinashbhide2552
 
English astronomie2
English astronomie2English astronomie2
English astronomie2jusher12
 
The killers mr brightside
The killers mr brightsideThe killers mr brightside
The killers mr brightsidegary1993
 
Suomalainen cdo ei ole diginatiivi
Suomalainen cdo ei ole diginatiiviSuomalainen cdo ei ole diginatiivi
Suomalainen cdo ei ole diginatiiviTimo Savolainen
 
Macromedia dreamweaver 8
Macromedia dreamweaver 8Macromedia dreamweaver 8
Macromedia dreamweaver 8Nadda Laosakul
 
FORMAS DE CONTRATACIÓN LABORAL EN MÉXICO
FORMAS DE CONTRATACIÓN LABORAL EN MÉXICOFORMAS DE CONTRATACIÓN LABORAL EN MÉXICO
FORMAS DE CONTRATACIÓN LABORAL EN MÉXICOAnuarCianci
 

Viewers also liked (14)

6. parturient disorders with photos
6. parturient disorders with photos6. parturient disorders with photos
6. parturient disorders with photos
 
بوابة التعليم الإلكتروني المباشر
بوابة التعليم الإلكتروني المباشربوابة التعليم الإلكتروني المباشر
بوابة التعليم الإلكتروني المباشر
 
9 Habits to Nurture Back Your Health
9 Habits to Nurture Back Your Health9 Habits to Nurture Back Your Health
9 Habits to Nurture Back Your Health
 
1. reproductive diseases
1. reproductive diseases1. reproductive diseases
1. reproductive diseases
 
Raja ram(1)
Raja ram(1)Raja ram(1)
Raja ram(1)
 
Cruz, sara. impress
Cruz, sara. impressCruz, sara. impress
Cruz, sara. impress
 
Getting Things Done
Getting Things DoneGetting Things Done
Getting Things Done
 
5. parturient disorders with photos
5. parturient disorders with photos5. parturient disorders with photos
5. parturient disorders with photos
 
English astronomie2
English astronomie2English astronomie2
English astronomie2
 
The killers mr brightside
The killers mr brightsideThe killers mr brightside
The killers mr brightside
 
Suomalainen cdo ei ole diginatiivi
Suomalainen cdo ei ole diginatiiviSuomalainen cdo ei ole diginatiivi
Suomalainen cdo ei ole diginatiivi
 
Photoshop cs3
Photoshop cs3Photoshop cs3
Photoshop cs3
 
Macromedia dreamweaver 8
Macromedia dreamweaver 8Macromedia dreamweaver 8
Macromedia dreamweaver 8
 
FORMAS DE CONTRATACIÓN LABORAL EN MÉXICO
FORMAS DE CONTRATACIÓN LABORAL EN MÉXICOFORMAS DE CONTRATACIÓN LABORAL EN MÉXICO
FORMAS DE CONTRATACIÓN LABORAL EN MÉXICO
 

Similar to Membuat Login PHP dan MySQL

Tutorial aplikasi toko online berbasis web dengan PHP
Tutorial aplikasi toko online berbasis web dengan PHPTutorial aplikasi toko online berbasis web dengan PHP
Tutorial aplikasi toko online berbasis web dengan PHPDeka M Wildan
 
Wawan tutorial-zend-bagian-4
Wawan tutorial-zend-bagian-4Wawan tutorial-zend-bagian-4
Wawan tutorial-zend-bagian-4Haswi Haswi
 
05. session2 autentifikasi user
05. session2 autentifikasi user05. session2 autentifikasi user
05. session2 autentifikasi userDhanang Fitra
 
Membuat CRUD data Mahasiswa dengan PHP MYSQLi.pdf
Membuat CRUD data Mahasiswa dengan PHP MYSQLi.pdfMembuat CRUD data Mahasiswa dengan PHP MYSQLi.pdf
Membuat CRUD data Mahasiswa dengan PHP MYSQLi.pdfomuru
 
11 aplikasi teknologi online - session dan aplikasinya
11   aplikasi teknologi online - session dan aplikasinya11   aplikasi teknologi online - session dan aplikasinya
11 aplikasi teknologi online - session dan aplikasinyaMateri Kuliah Online
 
Belajar Android PHP MySQL Login dengan Volley
Belajar Android PHP MySQL Login dengan VolleyBelajar Android PHP MySQL Login dengan Volley
Belajar Android PHP MySQL Login dengan VolleyAgus Haryanto
 
Jquery Ajax Part 1 by Yussan
Jquery Ajax Part 1 by YussanJquery Ajax Part 1 by Yussan
Jquery Ajax Part 1 by YussanYusuf A.H.
 
Buku tamu php&my sql
Buku tamu php&my sqlBuku tamu php&my sql
Buku tamu php&my sqltotoh fatah
 
Modul pembuatan aplikasi login dengan php dan my sq lx
Modul pembuatan aplikasi login dengan php dan my sq lxModul pembuatan aplikasi login dengan php dan my sq lx
Modul pembuatan aplikasi login dengan php dan my sq lxMboard Philipe
 
Modul pembuatan aplikasi login dengan php dan my sq lx
Modul pembuatan aplikasi login dengan php dan my sq lxModul pembuatan aplikasi login dengan php dan my sq lx
Modul pembuatan aplikasi login dengan php dan my sq lxHaswi Simeulue
 
Cara Membuat WebTools
Cara Membuat WebToolsCara Membuat WebTools
Cara Membuat WebToolsMohammad Nur
 
Contoh Session By Tugas Session Hanni
Contoh Session By Tugas Session HanniContoh Session By Tugas Session Hanni
Contoh Session By Tugas Session HanniUllum Pratiwi
 
sqlinjection-230606224413-2efc0d99.pptx
sqlinjection-230606224413-2efc0d99.pptxsqlinjection-230606224413-2efc0d99.pptx
sqlinjection-230606224413-2efc0d99.pptxAhmadSyaifuddin35
 

Similar to Membuat Login PHP dan MySQL (20)

Php tutorial-17
Php tutorial-17Php tutorial-17
Php tutorial-17
 
Php CMS tutorial
Php CMS tutorialPhp CMS tutorial
Php CMS tutorial
 
Tutorial aplikasi toko online berbasis web dengan PHP
Tutorial aplikasi toko online berbasis web dengan PHPTutorial aplikasi toko online berbasis web dengan PHP
Tutorial aplikasi toko online berbasis web dengan PHP
 
Wawan tutorial-zend-bagian-4
Wawan tutorial-zend-bagian-4Wawan tutorial-zend-bagian-4
Wawan tutorial-zend-bagian-4
 
Tutorial crud PHP
Tutorial crud PHPTutorial crud PHP
Tutorial crud PHP
 
05. session2 autentifikasi user
05. session2 autentifikasi user05. session2 autentifikasi user
05. session2 autentifikasi user
 
user.docx
user.docxuser.docx
user.docx
 
Membuat CRUD data Mahasiswa dengan PHP MYSQLi.pdf
Membuat CRUD data Mahasiswa dengan PHP MYSQLi.pdfMembuat CRUD data Mahasiswa dengan PHP MYSQLi.pdf
Membuat CRUD data Mahasiswa dengan PHP MYSQLi.pdf
 
11 aplikasi teknologi online - session dan aplikasinya
11   aplikasi teknologi online - session dan aplikasinya11   aplikasi teknologi online - session dan aplikasinya
11 aplikasi teknologi online - session dan aplikasinya
 
Belajar Android PHP MySQL Login dengan Volley
Belajar Android PHP MySQL Login dengan VolleyBelajar Android PHP MySQL Login dengan Volley
Belajar Android PHP MySQL Login dengan Volley
 
Bab2 form php
Bab2 form phpBab2 form php
Bab2 form php
 
Jquery Ajax Part 1 by Yussan
Jquery Ajax Part 1 by YussanJquery Ajax Part 1 by Yussan
Jquery Ajax Part 1 by Yussan
 
Buku tamu php&my sql
Buku tamu php&my sqlBuku tamu php&my sql
Buku tamu php&my sql
 
Modul pembuatan aplikasi login dengan php dan my sq lx
Modul pembuatan aplikasi login dengan php dan my sq lxModul pembuatan aplikasi login dengan php dan my sq lx
Modul pembuatan aplikasi login dengan php dan my sq lx
 
Modul pembuatan aplikasi login dengan php dan my sq lx
Modul pembuatan aplikasi login dengan php dan my sq lxModul pembuatan aplikasi login dengan php dan my sq lx
Modul pembuatan aplikasi login dengan php dan my sq lx
 
Php Mysql
Php MysqlPhp Mysql
Php Mysql
 
Cara Membuat WebTools
Cara Membuat WebToolsCara Membuat WebTools
Cara Membuat WebTools
 
Contoh Session By Tugas Session Hanni
Contoh Session By Tugas Session HanniContoh Session By Tugas Session Hanni
Contoh Session By Tugas Session Hanni
 
sqlinjection-230606224413-2efc0d99.pptx
sqlinjection-230606224413-2efc0d99.pptxsqlinjection-230606224413-2efc0d99.pptx
sqlinjection-230606224413-2efc0d99.pptx
 
Tugas php
Tugas phpTugas php
Tugas php
 

Membuat Login PHP dan MySQL

  • 1. Membuat Login dengan PHP dan MySQL Oleh Achmad Solichin Create : 03 Januari 2004 Aplikasi login User dalam suatu situs dinamis menggunakan php sudah hampir menjadi kebutuhan wajib. Tanpa adanya login rasa-rasanya ada yang kurang dari suatu situs. Dengan login kita bisa mengatur siapa saja yang berhak masuk ke halaman tertentu dan siapa saja yang tidak boleh. Disamping itu secara tidak langsung, login bisa digunakan untuk mencatat siapa saja yang sedang online, siapa saja yang sering mengunjungi situs kita dan seterusnya. OK basa-basinya udahan deh, kita mulai saja. Kita lihat dulu apa yang diperlukan untuk membuat aplikasi login user ini : 1. PHP 4.0 atau lebih. 2. Webserver, bisa pake Apache, IIS, PWS atau yang lain yang support PHP 3. Database server MySQL 4. Editor, disarankan pake Dreamweaver MX untuk lebih mudahnya atau pake Notepad jika pengin buat secara manual. 5. Dan tentunya harus ada niat, harus ada waktu dan harus ada kemauan. Membuat Tabel yang Diperlukan Pertama-tama mari kita buat dulu tabel yang diperlukan dengan MySQL. Di sini saya contohkan tabel user dengan field sbb : Nama Field Type Panjang username Varchar 20 nama Varchar 30 password Varchar 50 Jika diperlukan, bisa ditambahkan field yang lain. Mari langsung aja buat query-nya di MySQL : CREATE TABLE `user` (`username` VARCHAR (20) NOT NULL, `nama` VARCHAR (30) NOT NULL, `password` VARCHAR (50) NOT NULL, PRIMARY KEY(`username`), UNIQUE(`username`)); Catatan : Khusus di FTI Hosting, kita bisa dengan mudah membuat tabel di atas dengan fasilitas MySQL manager. Setelah table berhasil dibuat, kemudian isi dengan beberapa data (record) sebagai contoh. Misalnya dengan perintah sbb : INSERT INTO user VALUES ('achma', 'Achmad Solichin', 'nasigoreng'); INSERT INTO user VALUES ('okti', 'Okti Ragil', 'ragils'); INSERT INTO user VALUES ('sri', 'Sri Widhiyanti', 'sri'); Catatan : Di sini, field password tidak dienkript terlebih dahulu. Jika Anda menginginkan field password ini dienkript bisa menggunakan fungsi password() atau fungsi md5() dari MySQL.
  • 2. Membuat Tampilan Awal Login Buatlah file dengan nama login.php sebagai tampilan awal halaman login, sebagai berikut : <html> <head> <title>Login here</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-- table { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; } input { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; height: 20px; } --> </style> </head> <body> <div align="center"> <form action="periksa.php" method="post" name="login"> <table width="286" border="0" cellpadding="0" cellspacing="0"> <!--DWLayoutTable--> <tr bgcolor="#FF6633"> <td height="19" colspan="2" align="center" valign="middle"> <font color="#FFFFFF">LOGIN DI SINI</font></td> </tr> <tr> <td width="106" height="27">&nbsp;</td> <td width="180">&nbsp;</td> </tr> <tr> <td height="18" align="right" valign="middle">Username :&nbsp;</td> <td valign="middle"> <input name="username" type="text" id="username" size="20"></td> </tr> <tr> <td height="18" align="right" valign="middle">Password :&nbsp;</td> <td valign="middle"> <input name="password" type="password" id="password" size="20"></td> </tr> <tr> <td height="19">&nbsp;</td> <td></td> </tr>
  • 3. <tr> <td height="18" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td> <td valign="middle"> <input name="login" type="submit" id="login" value=" Login "></td> </tr> <tr> <td height="28">&nbsp;</td> <td></td> </tr> <tr bgcolor="#FF6633"> <td height="18" colspan="2" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td> </tr> </table> </form> </div> </body> </html> Dari program tampilan awal di atas, kita bisa lihat bahwa program menggunakan form inputan sbb : - username bertype text - password bertype password - tombol login bertype submit Jika tombol login ditekan maka isi form akan diproses di halaman periksa.php sesuai dengan action pada tag form Membuat Halaman Pemeriksaan Login Setelah tampilan awal kita buat, maka kita buat halaman pemeriksaan login untuk memeriksa apakah username dan password yang diinputkan benar atau salah. Buatlah file dengan nama periksa.php sebagai berikut : <?php session_start(); #**************** koneksi ke mysql *****************# $host = "database"; $user = "0211500314"; $pass = "8925603"; $dbname = "db_0211500314"; $conn = mysql_connect($host,$user,$pass); if($conn) { //select database $sele = mysql_select_db($dbname); if(!$sele) { echo mysql_error(); } } #***************** akhir koneksi ******************# #jika ditekan tombol login if(isset($_POST['login'])) {
  • 4. $username = $_POST['username']; $password = $_POST['password']; $sql = mysql_query("SELECT * FROM user WHERE username='$username' && password='$password'"); $num = mysql_num_rows($sql); if($num==1) { // login benar // $_SESSION['user'] = $username; $_SESSION['passwd'] = $password; ?><script language="JavaScript">alert('Anda berhasil login'); document.location='berhasil.php'</script><? } else { // jika login salah // ?><script language="JavaScript">alert('Username atau password Anda salah'); document.location='login.php'</script><? } } ?> Setelah tampilan awal kita buat, kita tinggal periksa apakah username dan password yang dimasukkan valid atau tidak. Username dan password diterima jika ditemukan di database. Mari kita analisa program di atas : Untuk mengaktifkan session kita menggunakan fungsi session_start(). Fungsi ini sebaiknya diletakkan di awal program (paling atas). Berikutnya lakukan koneksi ke database MySQL kita, menggunakan username dan password kita. Untuk aplikasi yang memerlukan koneksi database di setiap halaman, sebaiknya bagian koneksi ini dimasukkan dalam file khusus, sehingga setiap kita memerlukan koneksi database kita tinggal panggil filenya langsung menggunakan include atau require. Misalnya kita simpan sebagai file koneksi.php maka untuk memanggil file tsb kita bisa menggunakan perintah : include “koneksi.php”; atau require “koneksi.php”; Setelah koneksi berhasil, maka tinggal kita periksa apakah tombol login yang terdapat di halaman login.php ditekan atau tidak menggunakan fungsi isset() yaitu: ….. if(isset($_POST[‘login’])) …… Jika tombol ditekan maka ambil variable dari form textbox yang diisi oleh user __dalam hal ini variable username dan password__ dan disimpan dalam variable sementara. Perhatikan perintah : …… $username = $_POST[‘username’]; $password = $_POST[‘password’]; …… Kita sudah mendapatkan variable username dan password, selanjutnya kita periksa apakah username dan password ini sesuai dengan data yang ada di database. Kita
  • 5. pilih (select) record di tabel user yang sesuai dengan variable username dan password tsb …… $sql = mysql_query("SELECT * FROM user WHERE username='$username' && password='$password'"); $num = mysql_num_rows($sql); …… Fungsi mysql_query() digunakan untuk mengeksekusi suatu query atau perintah mysql, jadi seolah-olah kita mengetikkan perintah secara langsung di prompt mysql. Sedangkan fungsi mysql_num_rows() digunakan untuk menghitung jumlah record yang dihasilkan dari suatu perintah (query ) mysql. Dalam program di atas, variable $num akan berisi jumlah record yang dihasilkan dari $sql. Isi variable $num ini kita gunakan untuk memeriksa apakah username dan password benar-benar berada di tabel user. Jika ditemukan tepat 1 record maka username dan password benar dan redirect halaman berhasil.php. Namun jika tidak ditemukan, maka berarti username dan atau passwordnya salah, kembalikan ke halaman login.php. Untuk redirect di sini menggunakan javascript. Perhatikan potongan program berikut : ……. if($num==1) { // login benar // $_SESSION['user'] = $username; $_SESSION['passwd'] = $password; ?><script language="JavaScript">alert('Anda berhasil login'); document.location='berhasil.php'</script><? } else { // jika login salah // ?><script language="JavaScript">alert('Username atau password Anda salah'); document.location='login.php'</script><? } ……. Jika berhasil, sebelum diredirect ke halaman berhasil.php maka terlebih dahulu kita set variable session bernama $_SESSION[‘user’] dan $_SESSION[‘passwd’]. Variabel session ini digunakan untuk memeriksa apakah user tertentu berhak masuk ke suatu halaman ataukah tidak. Membuat Halaman untuk Login berhasil dan halaman logout Jika login berhasil maka user akan masuk ke halaman berhasil.php. Isi dari halaman ini ya tergantung Anda, sesuai dengan halama web Anda. Sebagai contoh sederhana, mari kita buat halaman sebagai berikut : <? session_start(); //periksa apakah user telah login atau memiliki session if(!isset($_SESSION[‘user’]) || !isset($_SESSION[‘passwd’])) { ?><script language=’javascript’>alert(‘Anda belum login. Please login dulu’); document.location=’login.php’</script><? } else { ?> <html> <head>
  • 6. <title>Berhasil</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <table width="746" border="0" cellpadding="0" cellspacing="0"> <!--DWLayoutTable--> <tr> <td width="746" height="23" align="center" valign="top"><font face="Verdana, Arial, Helvetica, sans-serif">Selamat Datang <? echo $_SESSION['user'] ?>&nbsp;<a href="logout.php"><strong>LOGOUT</strong></a></font></td> </tr> <tr> <td height="88">&nbsp;</td> </tr> <tr align="center" valign="middle"> <td height="33"><font color="#FF0000" size="5" face="Arial, Helvetica, sans-serif">ANDA BERHASIL LOGIN !!</font></td> </tr> <tr> <td height="62">&nbsp;</td> </tr> </table> </body> </html> <? } ?> Dalam halaman berhasil.php di atas terdapat link yang mengarah ke logout.php. Kita akan membuat logout.php dimana jika user melakukan logout (meng-klik link logout di atas) maka session yang dia miliki akan dihapus. Berikut untuk file logout.php : <? session_start(); //periksa apakah user telah login atau memiliki session if(!isset($_SESSION[‘user’]) || !isset($_SESSION[‘passwd’])) { ?><script language=’javascript’> document.location=’login.php’</script><? } else { unset($_SESSION); session_destroy(); ?> script language=’javascript’> document.location=’login.php’</script><? } ?> Untuk menghapus variable session kita bisa menggunakan fungsi unset() dan session_destroy(). Setelah session dihapus maka user dikatakan sudah logout dan tidak bisa masuk ke halaman berhasil.php selama user belum login lagi. Penutup
  • 7. Dah dulu ya tutorial ini, jika ada hal-hal yang kurang jelas silahkan ditanyakan langsung ke Achmad Solichin atau lewat email achma@ftimail dan sh- 001@plasa.com. Selamat mencoba dan semoga berhasil. Best Regards Achmatim