Content you want the user to see goes here.

Jumat, 13 Juli 2012

Assalamu'alaikum wr wb bagi yang muslim dan salam sejahtera untuk semuanya...
kali ini mpu-nya blog mau men-share ilmu lagi nih bagi yang membutuhkan, yang akan di share khususnya bagi para programmer adict yaitu bagaimana cara membuat login sederhana dengan bahasa Java->Javascript yang strict-nya lagi ExtJS.

Langsung kita mulai... ;-)

Pertama buat terlebih dahulu file login.html
-------------------------------------------------------------------------
<html>
<head>
    <!--Header File ini cari path tempatnya ExtJS itu nyimpen-->

    <link href="ext-all.css" type="text/css" rel="stylesheet">
    <script type="text/javascript" src="bootstrap.js"></script>
    <script type="text/javascript" src="ext-all.js"></script>
    <script type="text/javascript" src="login.js"></script>
</head>
<body></body>
</html>
-------------------------------------------------------------------------

Kemudian buat file login.js
didalam file login.js buat dulu script untuk menjalankan semua fungsi yang utamanya
-------------------------------------------------------------------------
Ext.onReady(function(){

});
-------------------------------------------------------------------------

setelah itu, masih didalam file login.js buat kelas Ext window-nya dan masukkan didalam skrip yang diatas, jadinya seperti ini...
-------------------------------------------------------------------------
Ext.onReady(function(){
    var win = new Ext.Window({
        layout:'fit',
        style:'text-align:left;',
        title: 'Admin Login',
        width:340,
        height:230,
        closable: false,
        resizable: false,
        movable: false,
        draggable : false,
        margin: false,
        plain: true,
        border: false,
        items: [login]
    });
    win.show();
});
-------------------------------------------------------------------------

buat lagi skrip untuk panel dimana komponen akan di taruh
-------------------------------------------------------------------------
Ext.onReady(function(){
    var login = new Ext.FormPanel({

    });

    var win = new Ext.Window({
        layout   : 'fit',
        style    : 'text-align:left;',
        title    : 'Admin Login',
        width    : 340,
        height   : 230,
        closable : false,
        resizable: false,
        movable  : false,
        draggable: false,
        margin   : false,
        plain    : true,
        border   : false,
        items    : [login]
    });
    win.show();
}); 
-------------------------------------------------------------------------

setelah itu buat komponen didalam panel
-------------------------------------------------------------------------

Ext.onReady(function(){
    var login = new Ext.FormPanel({
        url:'loginProcess.php',
        frame:true,
        monitorValid:true,
        items:[{
             xtype      : 'label',
             id         : 'label1',
             style      : 'text-align:left;',
             text       : 'Silahkan anda login dahulu untuk masuk kedalam Admin Tools.',
             margin     : '0 0 0 0'
          },{
             xtype      : 'textfield',
             margin     : '30 30 5 30',
             fieldLabel : 'Username',
             height     : '30',
             name       : 'Usr',
             allowBlank : false,
          },{
             xtype          : 'textfield',
             margin         : '0 30 0 30',
             fieldLabel     : 'Password',
             name           : 'Pass',
             inputType      : 'password',
             height         : '30',
             allowBlank     : false,
             enableKeyEvents: true,
             listeners: {
               'keypress': {
                  fn: function(tf, e){

                    //jika tombol enter yang ditekan
                    if(e.getKey()==13){
                       login.getForm().submit({
                         method:'POST',
                         waitTitle:'Connecting',
                         waitMsg:'Sending data...',
                           success:function(){                                                 var redirect = 'sukses.html';
                             window.location = redirect;
                           },
                           failure:function(form, action){
                             if(action.failureType == 'server'){
                                Ext.Msg.alert('WARNING','Username or Password Incorrect!');
                                        }else{
                                            Ext.Msg.alert('WARNING!', 'Authentication server is unreachable : ' + action.response.responseText);
                                        }
                                        login.getForm().reset();
                                    }
                                });
                            }
                        }
                    }, delay : 100
                }   
         }],

         buttons:[{
            iconCls: 'login',
            text:'Login',
            margin: '0 17 10 0',
            scale: 'medium',
            formBind: true,
            handler:function(){
              login.getForm().submit({
                 method:'POST',
                 waitTitle:'Connecting',
                 waitMsg:'Sending data...',
                 success:function(){
                    var redirect = 'sukses.html';
                    window.location = redirect;
                 },
                 failure:function(form, action){
                    if(action.failureType == 'server'){
                      Ext.Msg.alert('WARNING!','Username or Password Incorrect!');
                    }else{
                      Ext.Msg.alert('WARNING!', 'Authentication server is unreachable : ' + action.response.responseText);
                    }
                    login.getForm().reset();
                 }
              });
            }
        }]
    });

    var win = new Ext.Window({
        layout   : 'fit',
        style    : 'text-align:left;',
        iconCls  : 'icon-title',
        title    : 'Admin Login',
        width    : 340,
        height   : 230,
        closable : false,
        resizable: false,
        movable  : false,
        draggable: false,
        margin   : false,
        plain    : true,
        border   : false,
        items    : [login]
    });
    win.show();
});
catatan : tolong rapihin sendiri yah baris kodenya, blum handal nulis kode di blog :D
-------------------------------------------------------------------------

kemudian buat file loginProcess.php untuk mem-verifikasi login itu cocok atau tidak
kenapa dengan PHP? karena mpu-nya blogger lagi ngoding pake bahasa ini xixixixixixi....
-------------------------------------------------------------------------
 <?php
$loginUsername = isset($_POST["Usr"]) ? $_POST["Usr"] : "";
$loginPassword = isset($_POST["Pass"]) ? $_POST["Pass"] : "";
if($loginUsername == "admin" && $loginPassword == "admin"){
    $result["success"] = true;
}else{
    $result["success"] = false;
    $result["errors"]["reason"] = "Gagal Login! Ulangin Gih!!!.";
}
echo json_encode($result);
?>
json_encode disini fungsinya untuk men-encoding nilai string yang dikirimkan sesuai dengan format ExtJS
dari format PHP, contohnya : untuk array di php $arr = array('a' => 1'b' => 2'c' => 3); ketika di encode untuk ExtJS menjadi {"a":1,"b":2,"c":3}
-------------------------------------------------------------------------

Ok! untuk sentuhan terakhir tinggal buat file sukses.html untuk menampilkan bahwa login itu berhasil
-------------------------------------------------------------------------
<html>
<head></head>
<body>

Login Sukses!!!
</body>
</html>
-------------------------------------------------------------------------

Sekian dan Terima Kasih... Semoga tutorial diatas dapat bermanfaat bagi kita semua... ^_^v

Tidak ada komentar:

Posting Komentar

Perhatian! Silahkan berkomentar tanpa ada unsur SARA ^_^