Our social:

Latest Post

Senin, 29 Juni 2015

Login YII menggunakan database MySQL

  • Buka file UserIdentity.php di \protected\components\UserIdentity.php
  • Cari syntax ini, beri tanda comment di syntax nya dengan /* */ menjadi seperti ini
/*
public function authenticate()

{
$users=array(
// username => password
'demo'=>'demo',
'admin'=>'admin',
);
if(!isset($users[$this->username]))
$this->errorCode=self::ERROR_USERNAME_INVALID;
else if($users[$this->username]!==$this->password)
$this->errorCode=self::ERROR_PASSWORD_INVALID;
else
$this->errorCode=self::ERROR_NONE;
return !$this->errorCode;
}
}
*/
  • Lalu tambahkan syntax ini di bawahnya
public function authenticate()
    {
        $user=User::model()->findByAttributes(array('username'=>$this->username));
        if($user===null){
            $this->errorCode=self::ERROR_USERNAME_INVALID;  
}
        else if($user->password!==$this->password)
            {$this->errorCode=self::ERROR_PASSWORD_INVALID;}
        else
        {
            $this->errorCode=self::ERROR_NONE;
        }
        return !$this->errorCode;
    }
  • Simpan file
Catatan :
Nama tabel di database harus user, dan nama kolomnya iduser/userid ; username ; password

sumber

Minggu, 28 Juni 2015

Membuat operasi login, logout dan register pada yii

Operasi yang akan kita kerjakan adalah yang berkaitan dengan database. Silahkan lihat tutor sebelumnya jika anda belum memahami teknik menghubungkan database pada yii disini. Okeh, pertama-tama mari kita buat buat dua buah table di database, yaitu table “user” dan table “level” yang isinya sebagai berikut:
CREATE TABLE IF NOT EXISTS `tbl_level_admin` (
`id_level` int(11) NOT NULL AUTO_INCREMENT,
`level` varchar(20) NOT NULL,
PRIMARY KEY (`id_level`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
INSERT INTO `tbl_level_admin` (`id_level`, `level`) VALUES
(1, ‘Super Admin’),
(2, ‘Admin’),
(3, ‘Customer’);
CREATE TABLE IF NOT EXISTS `tbl_user_admin` (
`id_user` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(30) NOT NULL,
`password` varchar(50) NOT NULL,
`enkrip` varchar(50) NOT NULL,
`email` varchar(30) NOT NULL,
`inisial` varchar(10) DEFAULT NULL,
`deskripsi` text,
`id_level` int(11) NOT NULL,
PRIMARY KEY (`id_user`),
KEY `id_level` (`id_level`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
ALTER TABLE `tbl_user_admin`
ADD CONSTRAINT `tbl_user_admin_ibfk_1` FOREIGN KEY (`id_level`) REFERENCES `tbl_level_admin` (`id_level`);
Setelah itu buatlah operasi CRUD untuk tabel “tbl_user_admin” dengan menggunakan gii seperti pada tutor sebelumnya. Setelah selesai, mari kita hubungkan form login yang sudah ada pada aplikasi web bawaan yii dengan database kita. Berikut caranya:
Pertamax, buka file pada folder: protected/components/UserIdentity.php.
Ganti code pada function authenticate menjadi code dibawah ini:
public function authenticate()
{
$user=UserAdmin::model()->find(‘LOWER(username)=?’,array(strtolower($this->username)));
if($user===null)
$this->errorCode=self::ERROR_USERNAME_INVALID;
else if(!$user->validatePassword($this->password))
$this->errorCode=self::ERROR_PASSWORD_INVALID;
else
{
$this->_id=$user->id_user;
$this->username=$user->username;
$this->errorCode=self::ERROR_NONE;
}
return $this->errorCode==self::ERROR_NONE;
}
Selesai, sekarang form login anda sudah terhubung dengan database “tbl_user_admin” kita tadi…
Kalo ada login tentu ada juga form register. Nah, sekarang mari kita buat form register kita. Sebelumnya kita tentukan dulu bahwa di form register nanti akan ada validasi sbb:
-ada captcha dan isian pada captcha harus sesuai dengan yang ada di gambar
-validasi pada inputan email
-ada validasi password1 dan password2 untuk memastikan bahwa user tidak salah mengetik password
-username, password, email, captcha tidak boleh kosong
-memberi panjang minimal dan maksimal pada beberapa inputan
Okeh, stelah selesai menentukan batasannya, mari kita mulai…. Berikut caranya:
Buka file pada protected/controllers/UserAdminControllers.php.
Karena kita mau menambahkan captcha pada controllers, mari kita tambahkan captcha seperti pada penjelasan yang ada disini, yaitu dengan menambahkan code berikut pada “UserAdminControllers”:
public function actions()
{
return array(
// captcha action renders the CAPTCHA image displayed on the contact page
‘captcha’=>array(
‘class’=>’CCaptchaAction’,
‘backColor’=>0xFFFFFF,
),
// page action renders “static” pages stored under ‘protected/views/site/pages’
// They can be accessed via: index.php?r=site/page&view=FileName
‘page’=>array(
‘class’=>’CViewAction’,
),
);
}
Agar captcha diizinkan untuk diakses user yang akan register(belum login) maka kita berikan akses dengan merubah method accessRules() menjadi seperti berikut:
return array(
array(‘allow’, // allow all users to perform ‘index’ and ‘view’ actions
‘actions’=>array(‘create’,’captcha’),
‘users’=>array(‘*’),
),
array
Selesai sudah kita otak-atik controllers ny, sekarang saatnya kita otak-atik modelnya dengan cara:
Buka protected/models/UserAdmin.php
Ubah isinya sehingga menjadi seperti berikut:
class UserAdmin extends CActiveRecord
{
public $password2;
public $verifyCode;
public static function model($className=__CLASS__)
{
return parent::model($className);
}
public function tableName()
{
return ‘tbl_user_admin';
}
public function rules()
{
return array(
array(‘username, password, email,verifyCode’, ‘required’),
array(‘verifyCode’, ‘captcha’, ‘allowEmpty’=>!extension_loaded(‘gd’)),
array(‘id_level’, ‘numerical’, ‘integerOnly’=>true),
array(‘username, email’, ‘length’, ‘max’=>30),
array(‘username’, ‘filter’, ‘filter’=>’strtolower’),
array(‘username’,’unique’),
array(‘password, enkrip’, ‘length’, ‘max’=>50,’min’=>5),
array(‘password2′, ‘length’, ‘max’=>50, ‘min’=>5),
array(‘password’, ‘compare’,’compareAttribute’=>’password2′),
array(‘inisial’, ‘length’, ‘max’=>10),
array(’email’,’email’,’checkMX’=>true),
array(‘deskripsi’, ‘safe’),
// The following rule is used by search().
// Please remove those attributes that should not be searched.
array(‘id_user, username, email, inisial, deskripsi, id_level’, ‘safe’, ‘on’=>’search’),
);
}
public function relations()
{
return array(
‘idLevel’ => array(self::BELONGS_TO, ‘LevelAdmin’, ‘id_level’),
);
}
public function attributeLabels()
{
return array(
‘id_user’ => ‘Id User’,
‘username’ => ‘Username’,
‘password’ => ‘Password’,
’email’ => ‘Email’,
‘inisial’ => ‘Inisial’,
‘deskripsi’ => ‘Deskripsi’,
);
}
public function search()
{
// Warning: Please modify the following code to remove attributes that
// should not be searched.
$criteria=new CDbCriteria;
$criteria->compare(‘id_user’,$this->id_user);
$criteria->compare(‘username’,$this->username,true);
$criteria->compare(‘password’,$this->password,true);
$criteria->compare(‘enkrip’,$this->enkrip,true);
$criteria->compare(’email’,$this->email,true);
$criteria->compare(‘inisial’,$this->inisial,true);
$criteria->compare(‘deskripsi’,$this->deskripsi,true);
$criteria->compare(‘id_level’,$this->id_level);
return new CActiveDataProvider(get_class($this), array(
‘criteria’=>$criteria,
));
}
public function validatePassword($password)
{
return $this->hashPassword($password,$this->enkrip)===$this->password;
}
public function hashPassword($password,$salt)
{
return md5($salt.$password);
}
public function beforeSave()
{
$isinya=$this->generateSalt();
$dua=$this->password;
$this->enkrip=$isinya;
$this->password=$this->hashPassword($dua,$isinya);
$this->id_level=3;
return true;
}
protected function generateSalt()
{
return uniqid(”,true);
}
}
public $password2;
public $verifyCode;
dua baris di atas untuk menampung variabel password2(password konfirmasi) dan verifyCode(captcha).
public function rules() ===> mendefinisikan batasan/validasi dari variabel yang ada.
public function attributeLabels()===> mengeset label yang ada pada masing-masing variabel
public function validatePassword($password)===>mengecek apakah password sudah benar ato belum
public function hashPassword($password,$salt)===>mengenkripsi password sesuai dengan code yang diberikan
public function beforeSave()===>perintah ini dijalankan sebelum dilakukan penyimpanan
protected function generateSalt()===>menggenerate otomatis code enkripsi password.
Setelah kita otak-atik models ny, mari kita otak-atik views nya dengan cara:
Buka file pada protected/views/userAdmin/_form.php. Ubah code ny hingga menjadi seperti berikut:

Setelah mengubah code _form.php menjadi seperti gambar di atas, sekarang berikan link pada form login agar user dapat mengakses form register. Buka protected/views/site/login.php
Lalu tambahkan code berikut:
Belum punya akun,

Setelah itu, buka aplikasi anda pada browser anda. Klik menu login, dan akan ada link yang akan mengarahkan anda pada menu register, klik menu register tersebut. Maka akan keluar tampilan seperti berikut:
Silahkan coba jalankan dan lihat hasilnya…
Selamat mencoba…
Saya bukanlah seorang master, hanya seorang pelajar yg mencoba sharing isi kepalanya..
Jika ada kesalahan dari yg saya buat, mohon koreksi…
Semoga membantu…
sumber

Rabu, 10 Juni 2015

silent install ms office 2013

To specify silent installation options in Config.xml
  1. Open the Config.xml file for the Office product (such as Office Professional Plus 2013) that you are installing by using a text editor tool such as Notepad.
  2. Locate the line that contains the Display element, as shown in the following example:

  3. Modify the Display element entry with the silent options that you want to use. Make sure that you remove the comment delimiters, "." For example, use the following syntax:

    These options will direct Setup to run silently, prevent the prompting of users to enter information, and prevent the installation from waiting for user interactions. For more information about the syntax and Config.xml, see Display element in Config.xml file reference for Office 2013.
  4. To suppress restarts, add the following lines:


  5. To add a MAK key, use the PIDKEY element to enter the 25 character volume license key. Add the following line to the Config.xml file:

    AAAAABBBBBCCCCCDDDDDEEEEE represents the product key. Use your organization's specific MAK product key for Office 2013.
  6. To set the automatic activation option, add the following line to the Config.xml file:

    Not setting AUTO_ACTIVATE is the same as setting AUTO_ACTIVATE to a value of 0. The result is that product activation does not occur during Office 2013 deployment.
  7. Save the Config.xml file.

    sumber

Minggu, 07 Juni 2015

Cara Install YII Framework di Windows XP/7

Teman – teman pasti tau YII Framework yang mempunyai kepanjangan Yes It Is. YII framework bisa digunakan untuk membangun aplikasi web seperti e-commerce, cms , forum dll. Nah, disini saya mau share tentang cara instal YII Framework di OS  Windows 7/XP karena caranya sama. Kalau kalian ada yang pernah instal Framework Codeigniter, cara instal Codeigniter dengan YII berbeda. Berikut caranya
1. Download file YII nya terlebih dahulu di situs resmi Yii framework . Saya menggunakan versi 1.1.12.
 2. Lalu setelah download selesai. Maka ekstrak folder YII ke dalam htdocs pada xampp kalian.
3. Lalu buka command prompt kalian dan ketikkan cd c:\xampp\php untuk masuk ke dalam direktori xampp dan php, lalu tekan enter. Seperti gambar ini.

4. Lalu  untuk membuat kerangka aplikasi YII, saya ketikkan php.exe C:\xampp\htdocs\yii\framework\yiic webapp C:\xampp\htdocs\testyii. Perintah ini bertujuan untuk membuat folder bernama testyii ke dalam root directory c:\xampp\htdocs\ yang berdasarkan aturan yang telah dibuat oleh YII, yaitu YII telah saya copy paste ke dalam C:\xampp\htdocs\yii. Lalu setelah tekan enter maka akan muncul pertanyaan dan ketik “yes” dan tekan enter.

5. Lalu akan muncul proses instalasi seperti gambar di bawah ini. Tunggu sampai selesai.

6. Selamat YII telah terinstall dan untuk mengetahui apakah YII telah terinstal dengan baik. Buka xampp,aktifkan apache dan mysql. Lalu buka browser dan ketikkan localhost/testyii/.
 
Selamat Mencoba!

sumber

ganti template yii

tambahkan kode ini
     //Theme
    'theme'=>'abound' ,//"abound"--> nama folder theme

di bawah

'name'=>'My Web Application',

[Tutorial Yii] Cara Mengaktifkan Gii pada Yii Framework

yii Gii merupakan salah satu fitur Yii framework untuk membuat model, class dan controller dari tabel-tabel yang ada pada database. Berikut ini adalah langkah-langkah untuk mengaktifkan Gii pada Yii Framework (versi yii yang digunakan pada saat penulisan adalah yii 1.1.13) :
  1. Buka C:\xampp\htdocs\aplikasiku\protected\config\main.php lalu cari kode ini dan uncomment:
    'modules'=>array(
    // uncomment the following to enable the Gii tool
    /*
    'gii'=>array(
    'class'=>'system.gii.GiiModule',
    'password'=>'Enter Your Password Here',
    // If removed, Gii defaults to localhost only. Edit carefully to taste.
    'ipFilters'=>array('127.0.0.1','::1'),
    ),
    */
    
    'gii'=>array(
    'class'=>'system.gii.GiiModule',
    'password'=>'passwordku',
    ),
    ),
  2. Ubah kodenya menjadi :
    'modules'=>array(
    'gii'=>array(
    'class'=>'system.gii.GiiModule',
    'password'=>'passwordku',
    'ipFilters'=>array('127.0.0.1','::1'),
    ),
    ),
  3. Kemudian scroll dan cari kode koneksi database seperti ini lalu uncomment :
    // uncomment the following to use a MySQL database
      /*
      'db'=>array(
      'connectionString' => 'mysql:host=localhost;dbname=testdrive',
      'emulatePrepare' => true,
      'username' => 'root',
      'password' => '',
      'charset' => 'utf8',
      ),
      */
  4. Ubah menjadi :
    'db'=>array(
    'connectionString' => 'mysql:host=localhost;dbname=aplkasiyii',
    'emulatePrepare' => true,
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8',
    ),
  5. Buka browser lalu ketik http://localhost/aplikasiyii/index.php?r=gii dan masukkan password yaitu ” passwordku “. Disini kita hanya menggunakan Model Generator dan Crud Generator untuk membuat model dan crud database.
  6. Untuk mempermudah pengaksesan dapat, link ke Gii dapat ditambahkan pada \protected\views\layouts\main.php :
    
    
Tampilan Awal Gii Masukkan Password
masukkan password
Halaman Depan Gii Setelah Login
tampilan gii
sumber : http://ronnydawn.wordpress.com/2012/01/28/mengaktifkan-mempermudah-akses-gii-pada-yii-framework/

[EDIT : 20 Juli 2013]

Kita juga dapat masuk ke gii tanpa memasukkan password, caranya adalah dengan mengubah bagian password menjadi false.
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=> false,
),
),
 
sumber 

Pengaturan halaman home pada user sebelum dan sesudah login pada yii framework

Pada beberapa kasus kadang aplikasi yang kita buat mengharuskan user login terlebih dahulu sebelum user bisa masuk ke dalam aplikasi tersebut. Maka dari itu kita harus melakukan pengaturan seperti berikut :
  • Jika user belum melakukan login, maka dia akan langsung disuguhkan halaman login saat memasuki web aplikasi tersebut.
  • Jika user sudah melakukan login, maka dia akan langsung disuguhkan halaman home.
Baik mari kita modifikasi aplikasi kita….
Pertama-tama silahkan buka controller yang menghandle halaman “login” dan “home” yaitu di “protected/controllers/SiteController.php”. Setelah itu tambahkan kode berikut di atas   “public function actions()”
 /**
  * @return array action filters
  */
 public function filters()
 {
  return array(
   'accessControl',
  );
 }

 /**
  * Specifies the access control rules.
  * This method is used by the 'accessControl' filter.
  * @return array access control rules
  */
 public function accessRules()
 {
  return array(
   array('allow',
    'actions'=>array('error','contact','login','captcha'),
    'users'=>array('*'),
   ),
   array('allow',
    'actions'=>array('index','logout','update'),
    'users'=>array('@'),
   ),
   array('deny',  // deny all users
    'users'=>array('*'),
   ),
  );
 }
Selesai… Berikut  penjelasannya:
Mungkin anda terkejut melihat betapa singkatnya code yang kita tambahkan, sebagian dari anda juga mungkin berpikir bahwa kita akan mengotak-atik bagian views/model. Yah, dalam penjelasan di atas, kita hanya perlu melakukan manipulasi di kode controller. Kita cukup memberi hak akses pada masing-masing halaman yang akan di akses. Jadi kita cukup memberikan access rule pada halaman home dimana kita hanya mengizinkan halaman home hanya bisa di akses oleh user yang telah melakukan login. Jika user belum login, maka secara otomatis user akan dilempar ke halaman login…
Yak, selamat mencoba :D ….
Semoga membantu….