Jumat, 03 Agustus 2012

thumbnail

Input Data dengan CodeIgniter

Berikut contoh membuat Guestbook sederhana
Database
Nama tabel yang digunakan ‘guestbook’, jalankan scriptnya berikut pada database mysql Anda
1
2
3
4
5
6
7
8
CREATE TABLE `guestbook` (
  `guestid` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  `name` VARCHAR( 50 ) NOT NULL ,
  `email` VARCHAR( 65 ) NOT NULL ,
  `facebook` VARCHAR( 65 ) NULL ,
  `twitter` VARCHAR( 65 ) NULL ,
  `message` VARCHAR( 255 ) NOT NULL
);
Model
Umumnya penamaanya menggunakan prefix m_, tapi sebenarnya terserah Anda menamakannya
nama file : m_guestbook, digunakan untuk akses database
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class M_guestbook extends Model{
         
        //constructor
        function M_guestbook() {
            parent::Model();
        }
         
        function simpan($name,
                        $email,
                        $facebook,
                        $twitter,
                        $message){
             
            $data = array(
                "name"=>$name,
                "email"=>$email,
                "facebook"=>$facebook,
                "twitter"=>$twitter,
                "message"=>$message
            );
            $this->db->insert('guestbook', $data);
            if($this->db->affected_rows())
                return '1';
            else
                return '0';
             
        }      
}
?>
digunakan affected rows, untuk mengecek apakah data berhasil disimpan ke dalam database atau tidak
Controller
Umumnya penamaanya menggunakan prefix c_, tapi sebenarnya terserah Anda menamakannya
nama file : c_guestbook, digunakan untuk event control terhadap page
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
class C_guestbook extends Controller {
    //constructor
    function C_guestbook(){
        parent::Controller();
        session_start();
        $this->load->model('m_guestbook', '', TRUE);
    }
     
    //set index
    function index(){
        $this->load->view('v_guestbook.php');
    }
     
    function simpan(){
        //POST varible here
        //auto increment, don't accept anything from form values
        $name=trim(@$_POST["name"]);
        $name=str_replace("/(<\/?)(p)([^>]*>)", "",$name);
        $name=htmlspecialchars($name,ENT_QUOTES);
        $email=trim(@$_POST["email"]);
        $email=str_replace("/(<\/?)(p)([^>]*>)", "",$email);
        $email=htmlspecialchars($email,ENT_QUOTES);
        $facebook=trim(@$_POST["facebook"]);
        $facebook=str_replace("/(<\/?)(p)([^>]*>)", "",$facebook);
        $facebook=htmlspecialchars($facebook,ENT_QUOTES);
        $twitter=trim(@$_POST["twitter"]);
        $twitter=str_replace("/(<\/?)(p)([^>]*>)", "",$twitter);
        $twitter=htmlspecialchars($twitter,ENT_QUOTES);
        $message=trim(@$_POST["message"]);
        $message=str_replace("/(<\/?)(p)([^>]*>)", "",$message);
        $message=htmlspecialchars($message,ENT_QUOTES);
         
        $result=$this->m_guestbook->simpan($name,
                                             $email,
                                             $facebook,
                                             $twitter,
                                             $message);
         
        if($result=='0'){
            $data["msg"]="Data tidak bisa disimpan";
        }else{
            $data["msg"]="Data sukses disimpan";
        }
        $this->load->vars($data);
        $this->index();
    }
     
}
?>
  • Penerimaan variable post dilakukan di dalam fungsi simpan
  • Fungsi str_replace di atas untuk menghilangkan inputan yang berupa code php/html agar tidak menjadi spam code
  • Fungsi htmlspecialchars, ENT_QUOTES digunakan agar bisa mengubah single quote ato double quote ke dalam bentuk code html (ASCII) sehingga tidak jadi masalah ketika disimpan ke dalam database
View
Umumnya penamaanya menggunakan prefix v_, tapi sebenarnya terserah Anda menamakannya
nama file : v_guestbook, digunakan untuk layout view page

    

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
if(@$msg<>"") echo @$msg; ?>

"index.php?c=c_guestbook&m=simpan" method="post">
"2" align="center">

GUESTBOOK

    
Name
    
"name" name="name" type="text" size="30" maxlength="50" />
    
Email
    
"email" name="email" type="text" size="30" maxlength="65" />
    
Facebook
    
"facebook" name="facebook" type="text" size="30" maxlength="65" />
    
Twitter
"twitter" name="twitter" type="text" size="30" maxlength="65" />
    
Message
    

    
"2" align="center"> "submit" value="Simpan" name="simpan"
Perhatikan form actionnya :
1

"index.php?c=c_guestbook&m=simpan" method="post">
arahkan m (fuction) ke function ‘simpan’ sesuai yang ada pada controller

Subscribe by Email

Follow Updates Articles from This Blog via Email

No Comments

Search This Blog

Diberdayakan oleh Blogger.