Monday, 8 June 2015

Code Igniter : Membuat halaman input sederhana (GuestBook)

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
<?php
 
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
<?php
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
<html>
<body>
<?php if(@$msg<>"") echo @$msg; ?>
<form action="<?php echo base_url();?>index.php?c=c_guestbook&m=simpan" method="post">
<table>
<tr>
    <td colspan="2" align="center"><h1>GUESTBOOK</h1></td>
</tr>
<tr>
    <td>Name</td>
    <td><input id="name" name="name" type="text" size="30" maxlength="50" /></td>
</tr>
<tr>
    <td>Email</td>
    <td><input id="email" name="email" type="text" size="30" maxlength="65" /></td>
</tr>
<tr>
    <td>Facebook</td>
    <td><input id="facebook" name="facebook" type="text" size="30" maxlength="65" /></td>
</tr>
<tr>
    <td>Twitter</td><td><input id="twitter" name="twitter" type="text" size="30" maxlength="65" /></td>
</tr>
<tr>
    <td>Message</td>
    <td><textarea id="message" name="message" cols="30" rows="3"></textarea></td>
</tr>
<tr>
    <td colspan="2" align="center"> <input type="submit" value="Simpan" name="simpan">  </td>
</tr>
</table>
</form>
</body>
</html>
Perhatikan form actionnya :
1
<form action="<?php echo base_url();?>index.php?c=c_guestbook&m=simpan" method="post">
arahkan m (fuction) ke function ‘simpan’ sesuai yang ada pada controller
Dan inilah nampak hasil screen shootnya
Dan ini setelah proses input
Ok, contoh singkat di atas semoga bisa membantu
Semoga berhasil, semangat selalu. Ignite your code !!!

Artikel Terkait

Code Igniter : Membuat halaman input sederhana (GuestBook)
4/ 5
Oleh

Berlangganan

Suka dengan artikel di atas? Silakan berlangganan gratis via email

Coretan Disqus

close
close