2077 Posts in 484 Topics- by 821 Members - Latest Member: liricklagu

Pages: [1]   Go Down
  Print  
Author Topic: Login Form menggunakan SESSION  (Read 2476 times)
webmaster
Administrator
phpBB Guru
*****
Offline Offline

Posts: 924


hairulazami
View Profile WWW
« on: December 07, 2007, 09:51:12 PM »

Kalo tutorial sebelumna, pake cek dari database dowank. Kali ini login form na kmbinasi antara Session dan sekaligus mengecek ke database User

jangan lupa bro, bwat sample data table, bwat table user na dolo:

Code:
CREATE TABLE:
id(INT) 11,
userName(VARCHAR) 255,
passWord(VARCHAR) 255

tros bikin fungsi - fungsi buatan na:

Code:
## fungsi login form
function displayform($error)
    {
    echo "<html><head><title>Please login</title></head><body><style>body,td,input { font-family: verdana; font-size: 8pt; }</style>";
    if($error) echo "<p><b>Login na salah brother (^_^)</b></p>";
    echo "<form action=\"\" method=\"post\"><table width='400' border=0><tr><td width='100'>username:</td>";
    echo "<td><input type='text' name='input_user'></td></tr><tr><td>password:</td><td><input type='password' name='input_password'></td></tr>";
    echo "<tr><td colspan='2'><input type='Submit' value='Login&raquo;' name='loginbutton'></td></tr></table></form></body></html>";
    exit;
    }

Alur VALIDASI User:
inputan user dan password diproses via HTTP REQUEST POST VAR, VAR inputan user dan password akan di filter melalui sintaks SQL :

Code:
mysql_real_escape_string("_VAR_INPUTAN");

sehingga saat SELECT DATA ke table database user, inputan sudah bersih dari karakter-karakter mematikan, yang biasa digunakan bwat para hacker untuk melakukan serangan INJECTION pada SQL data.

sedangkan untuk enkripsi passwordna make :

Code:
md5("__VAR_INPUTAN");


ni CODE validasi user na:

Code:
## fungsi validasi user
function validateUser()
    {
    $con=mysql_connect("localhost","root","");
    $dbname="dbase_lu";
     
    if(!is_resource($con)) { return false; }
    @mysql_select_db($dbname);
     
    $query = sprintf("SELECT * FROM tblUser WHERE userName='%s' AND passWord='%s'",
        mysql_real_escape_string($_POST['input_user']),
        mysql_real_escape_string(md5($_POST['input_password']))
    );
         
    $rslt = @mysql_query($query);
     
    if(!is_resource($rslt)) { return false; }
    if(mysql_num_rows($rslt) < 1) { return false; }
    else
        return true;
    return false;
    }

woke!!!


Alur login na:
pertama kali user akan login via form user password.
dan session dimulai pada saat user divalidasi.

Code:
session_start();

jika user mengisi form, dan mengklik tombol Login, proses validasi user akan dilakukan. Jika benar halaman akan di forward ke http://www.dremi.info/klikdisini.html

Code:
if($_POST['loginbutton'])
        {
        $inputuser = $_POST['input_user'];
        $inputpassword = $_POST['input_password'];
         
        if(validateUser())
            {
            session_start();
            $_SESSION['authenticated'] = 1;
            @header("location:http://www.dremi.info/klikdisini.html");
            }
        else
            displayform(1);
        }
    else
        displayform(0);

kalo salah yaaa...kembali ke form, dan pesan Login salah akan dimunculkan

Code:
if($error) echo "<p><b>Login na salah brother (^_^)</b></p>";





Jadi lengkap na ke gini bro:


Code:
<?php  

if&#40;!$_SESSION['authenticated'&#93;&#41; 

    
if&#40;$_POST['loginbutton'&#93;&#41; 
        
&#123; 
        
$inputuser $_POST['input_user'&#93;; 
        
$inputpassword $_POST['input_password'&#93;; 
         
        
if&#40;validateUser&#40;&#41;&#41; 
            
&#123;
session_start&#40;&#41;;
            
$_SESSION['authenticated'&#93; = 1; 
            
@header&#40;"location&#58;http&#58;//www&#46;dremi&#46;info/klikdisini&#46;html"&#41;; 
            
&#125; 
        
else 
            
displayform&#40;1&#41;; 
        
&#125; 
    
else 
        
displayform&#40;0&#41;; 

function displayform&#40;$error&#41; 
    
&#123; 
    
echo "<html><head><title>Please login</title></head><body><style>body,td,input &#123; font-family&#58; verdana; font-size&#58; 8pt; &#125;</style>"
    if&
#40;$error&#41; echo "<p><b>Login na salah brother &#40;^_^&#41;</b></p>"; 
    
echo "<form action=\"\" method=\"post\"><table width='400' border=0><tr><td width='100'>username&#58;</td>"
    echo 
"<td><input type='text' name='input_user'></td></tr><tr><td>password&#58;</td><td><input type='password' name='input_password'></td></tr>"
    echo 
"<tr><td colspan='2'><input type='Submit' value='Login&raquo;' name='loginbutton'></td></tr></table></form></body></html>"
    exit; 
    &
#125; 
     
function validateUser&#40;&#41; 
    
&#123; 
    
$con=mysql_connect&#40;"localhost","root",""&#41;;
    
$dbname="dbase_lu";
     
    if&
#40;!is_resource&#40;$con&#41;&#41; &#123; return false; &#125; 
    
@mysql_select_db&#40;$dbname&#41;; 
     
    
echo $query sprintf&#40;"SELECT * FROM tblUser WHERE userName='%s' AND passWord='%s'", 
        
mysql_real_escape_string&#40;$_POST['input_user'&#93;&#41;, 
        
mysql_real_escape_string&#40;md5&#40;$_POST['input_password'&#93;&#41;&#41; 
    
&#41;; 
         
    
$rslt = @mysql_query&#40;$query&#41;; 
     
    
if&#40;!is_resource&#40;$rslt&#41;&#41; &#123; return false; &#125; 
    
if&#40;mysql_num_rows&#40;$rslt&#41; < 1&#41; &#123; return false; &#125; 
    
else 
        return 
true
    return 
false
    &
#125; 
     
?>


woke selamat mencoba, download sample CODE na disini:

http://www.4shared.com/file/31438163/ae ... start.html

tros kalo mao liat sample jadina disini brother (pake user na: test + password na: ngepass):

http://www.dremi.info/web/tips/session_start.php

WOKEEEE!!!!!!......

 Cheesy  :?
« Last Edit: January 01, 1970, 07:00:00 AM by webmaster » Logged


penguin
phpBB Guru
*
Offline Offline

Posts: 62


penguin_imutz
View Profile
« Reply #1 on: December 11, 2007, 11:33:59 PM »

bro SESSION tu apaan sih, ngak terlalu tau nih :?
« Last Edit: January 01, 1970, 07:00:00 AM by penguin » Logged

webmaster
Administrator
phpBB Guru
*****
Offline Offline

Posts: 924


hairulazami
View Profile WWW
« Reply #2 on: December 15, 2007, 04:51:37 PM »

Quote from: "penguin"
bro SESSION tu apaan sih, ngak terlalu tau nih :?

session adalah fungsi standar yang disediakan dalam bahasa pemrograman PHP, bwat menampung data sementara, dan pengecekan terhadap data sementara ini pun dapat dijadikan sebagai basis utama dalam menentukan sebuah aksi, apakah boleh dijalankan atow tidak.
« Last Edit: January 01, 1970, 07:00:00 AM by webmaster » Logged


Pages: [1]   Go Up
  Print  
 
Jump to: