Latihan Library dan Helper di Codeigniter

Library dan Helper merupakan alat bantu yang disediakan codeigniter bagi programing-programing dalam membuat web. Di Codeigniter 3.1.3 ada sekitar 30 Library dan 21 Helper. Pengen tau apa aja didalamnya? Download aja Codeigniter 3.1.3 terus buka aja tuh localhost/(namafolderCIkamu)/user_guide nah disitu bisa dilihat macam-macamnya Library dan Helper.

Sekarang kita ambil satu bagian dari Library dan satu bagian dari Helper yaa..

Untuk library kita ambil form_validation dan untuk Helpernya kita ambil captcha.

sekarang mulai dengan membuat LibraryHelper.php pada folder application/controller

<?php if ( ! defined(‘BASEPATH’)) exit(‘No direct script access allowed’);
class LibraryHelper extends CI_Controller {

public function index() {
// loading captcha helper
$this->load->helper(‘captcha’);
$this->load->library(‘form_validation’);
//validating form fields
$this->form_validation->set_rules(‘userCaptcha’, ‘Captcha’, ‘required|callback_check_captcha’);
$userCaptcha = $this->input->post(‘userCaptcha’);
if ($this->form_validation->run() == false){
// numeric random number for captcha
$random_number = substr(number_format(time() * rand(),0,”,”),0,6);
// setting up captcha config
$vals = array(
‘word’ => $random_number,
‘img_path’ => ‘./captcha/’,
‘img_url’ => base_url().’captcha/’,
‘img_width’ => 140,
‘img_height’ => 32,
‘expiration’ => 7200
);
$data[‘captcha’] = create_captcha($vals);
$this->session->set_userdata(‘captchaWord’,$data[‘captcha’][‘word’]);
$this->load->view(‘captcha’, $data);
}
else {
// do your stuff here.
$this->load->view(‘formsuccess’);
}
}
public function check_captcha($str){
$word = $this->session->userdata(‘captchaWord’);
if(strcmp(strtoupper($str),strtoupper($word)) == 0){
return true;
}
else{
$this->form_validation->set_message(‘check_captcha’, ‘Captcha yang Anda tuliskan salah!’);
return false;
}
}
}

Setelah itu kita buat captcha.php di folder application/view

<html>
<head>
<title>My Form</title>
</head>
<body>
<?php echo validation_errors(); ?>
<?php echo form_open(‘LibraryHelper’); ?>
<?php echo form_open(‘captcha’); ?>
<h5>Username</h5>
<input type=”text” name=”username” value=”” size=”50″ />
<h5>Password</h5>
<input type=”text” name=”password” value=”” size=”50″ />
<h5>Password Confirm</h5>
<input type=”text” name=”passconf” value=”” size=”50″ />
<h5>Email Address</h5>
<input type=”text” name=”email” value=”” size=”50″ />
<div class=”form-group”>
<br>
<label for=”captcha”><?php echo $captcha[‘image’]; ?></label>
<br>
<input type=”text” autocomplete=”off” name=”userCaptcha” placeholder=”Enter above text” value=”<?php if(!empty($userCaptcha)){ echo $userCaptcha;} ?>” />
<span class=”required-server”><?php echo form_error(‘userCaptcha’,'<p style=”color:#F83A18″>’,'</p>’); ?></span> </div>
<div class=”form-group”>
</br>
</br>
<div><input type=”submit” value=”Submit” /></div>
<?php echo form_close(); ?>
</body>
</html>

Setelah itu kita buat view dengan nama formsuccess.php disimpan di application/view

<html>
<head>
<title>My Form</title>
</head>

<body>
<h3>Your form was successfully submitted!</h3>
<p><?php echo anchor(‘LibraryHelper’, ‘Try it again!’); ?></p>
</body>
</html>

Nah, kalau udah jangan lupa ganti routernya dengan nama controllernya. Habis itu, buat juga si autoloadnya yang ada di application/config. Untuk helper kita ubah dibagian sini

$autoload[‘helper’] = array(‘url’,’captcha’);

untuk librarynya kita ubah jadi

$autoload[‘libraries’] = array(‘form_validation’,’session’);

Nah, syudaaah deh. Kita coba load di web browser dengan ngetik

localhost/ci_LibraryHelper/LibraryHelper

Oh iya, jangan lupa buat folder yang sejajar dengan folder application dengan nama captcha. Awalnya bingung buat apa folder kosong itu? ntar folder itu diisi apa? kenapa harus dibuat?

Tujuannya biar nanti gambar-gambar captcha yang udah kita buat, bakal kesimpen didalam folder itu. Udah gitu aja.. Kenapa sejajar karena waktu dipembuatan pada file LibraryHelper dibagian array ketulisnya ./captcha/ gitukan? Ada juga yang nulisnya asset/captcha gitu, itu artinya mereka bakal nyimpen gambar-gambar itu didalem folder asset didalem folder asset ada subfolder namanya captcha. Gitu lah intinya. Semoga paham dengan beberapa codingan yang saya gabung-gabungkan itu yaa.. 😀

Oh iyaaa… ada yang lupaaa.. itu codingan masih buruuk, karena ada dari salah satu referensi bilang pake required, tapi waktu dicoba running error, pass required dan semacamnya.. Karena udah pusing yaa bikin simpel aja, yang requirednya gak dipake. Hehehehe… Setelah tanya ke temen, ternyata required itu kalau gak diisi bakal muncul pesan error, harus diisi gitu tapi yaa gimana yaaa besok lagi aja deh coba-cobanyaa… Maapkeun yaa..

Adapun Hasilnya tampilan awal kayak ginii nii

LH1
Tampilan HTML dari file captcha.php

Diisi dengan captcha yang benar hasilnya jadi

LHberhasil
Tampilan dengan isi Berhasil
LHberhasill
Hasil Proses yang berhasil
LHgagal
Tampilan percobaan captcha salah
LHgagall
Output captcha salah

Buat pemulaa nyoba satu emang gak cukup.. nih referensi yang aku coba-coba, mungkin kalian juga mau nyobaaa 😀

http://tutsnare.com/how-to-use-captcha-in-codeigniter/

http://itcodetutorial.blogspot.co.id/2015/05/captcha-codeigniter.html

http://inmyidea.blogspot.co.id/2013/01/buat-captcha-sendiri-dengan-php.html

http://www.dumetschool.com/blog/Membuat-Captcha-Dengan-CodeIgniter