Berikut contoh membuat Guestbook sederhana
Database
Nama tabel yang digunakan ‘guestbook’, jalankan scriptnya berikut pada database mysql Anda
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
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
| <?phpclass 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
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
| <?phpclass 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
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 ini setelah proses input
Ok, contoh singkat di atas semoga bisa membantu
Semoga berhasil, semangat selalu. Ignite your code !!!
Code Igniter : Membuat halaman input sederhana (GuestBook)
4/
5
Oleh
ilyunal
