Jumat, 02 November 2018

Cara Membuat Komentar Pada Blog Codeigniter


Ini merupakan lanjutan tutorial sebelumnya yang membahas tentang pembuatan blog dengan Codeigniter.
Pembahasan ini untuk membuat umpan balik antara penulis dengan pembaca melalui komentar. Caranya dengan pembuatan form komentar akan kami jelaskan di bawah ini.
Langkah pertama mari kita buat tabel komentar yang akan menampung komentar-komentarnya. Dengan no_post sebagai alamat postingan yang dibuat. Silahkan eksekusi kode sql ini untuk membuat tabel komentar pada database.
CREATE TABLE `komentar` ( `id` int(11)PRIMARY KEY AUTO_INCREMENT, `no_post` int(11) NOT NULL, `isikomentar` text NOT NULL, `komentator` varchar(30) NOT NULL, `email` varchar(50) NOT NULL);

Kemudian kita buat link untuk memasukan komentar pada postingan yang ada. Taruh ini pada file homepage.php setelah kode <?php echo $postData[‘isi’]; ?></code> lalu buat linknya dengan kode ini :
<a href=”<?php echo base_url().”index.php/home/komentar/”.$postData[‘no_post’];?>” ><button>Komentar</button></a>
Link diatas mengeksekusi controller home dengan fungsi komentar. Ini merupakan fungsi kometarnya yang akan menampilkan dan memasukan komentar.
public function komentar($res){
$where = array(
‘no_post’ => $res
);
$data[‘hasil’]=$this->db->get_where(‘post’,$where);
$data[‘komenya’]=$this->db->get_where(‘komentar’,$where);
$this->load->view(‘komentar’,$data);
}
Fungsi ini akan mengalihkan kita ke file komentar.php pada file views. Dibawah ini merupakan isi dari file komentar.php.
<?php
defined(‘BASEPATH’) OR exit(‘No direct script access allowed’);
?>
<?php foreach ($hasil->result() as $ganti) :?>
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”utf-8″>
<title><?php echo $ganti->judul; ?></title>
</head>
<body>
<div id=”container”>
<p id=”body”>
<h1 class=”judul”><?php echo $ganti->judul; ?></h1>
<div class=”penulis”>Penulis : <?php echo $ganti->penulis; ?></div> <br \>
<code><?php echo $ganti->isi; ?><br \>
</code>
<div class=”kelas”>Tanggal terbit :<?php echo $ganti->tanggal; ?> <t></t>
pada jam :<?php echo $ganti->waktu; ?></div><br \>
<hr \>
<?php
$myIdPost=$ganti->no_post;
?>
</p>
<?php endforeach; ?>
<p>
<h3>Komentar</h3>
<p>
<?php foreach ($komenya->result() as $komentarnya) :?>
<div id=”komentar”><code><?php echo $komentarnya->isikomentar; ?></code><br \>
<div class=”kelas”>dari : <?php echo $komentarnya->komentator; ?><br \>
email : <?php echo $komentarnya->email; ?></div>
</div>
</p>
<?php endforeach; ?>
<h3>Form Komentar</h3>
<table class=’table’>
<form method=”post” action=”<?php echo base_url().”index.php/home/comment”; ?>”><!–Mengeksekusi fungsi comment untuk menyimpan komentar–>
<tr>
<td>Nama Anda</td>
<td>:</td>
<td><input required type=”text” name=”komentator”></td>
</tr>
<tr>
<td>Email</td>
<td>:</td>
<td><input type=”text” name=”email”></td>
</tr>
<tr>
<td>Komentar</td>
<td>:</td>
<td><textarea required name=”isikomentar”></textarea></td>
</tr>
<input type=”text” hidden name=”id_post” value=”<?php echo $myIdPost; ?>”>
<tr>
<td><input colspan=”3″ class=”bSimpan” type=”submit” name=”submit” value=”Komentar”></td>
</tr>
</form>
</table>
</p>
<p class=”footer”>
Created by www.zakycomputer.me
</p>
</body>
</html>
Lalu kita buat fugsi comment pada controller home:
public function comment(){
$this->load->model(‘model’);
$data = array(
‘no_post’ => $this->input->post(‘id_post’),
‘isikomentar’ => $this->input->post(‘isikomentar’),
‘komentator’ => $this->input->post(‘komentator’),
’email’ => $this->input->post(’email’)
);
$data = $this->model->Comment(‘komentar’, $data); //menyimpan komentar dengan file model pada fungsi comment
redirect(base_url().”index.php/home/komentar/”.$this->input->post(‘id_post’),’refresh’); //merefresh halaman setelah menyimpan komentar
}
Fungsi diatas akan mengeksekusi fungsi comment pada file model pada folder models. ini fungsi untuk menyimpan komentar pada databasenya.
public function Comment($table,$data){
$res = $this->db->insert($table, $data); // Kode ini digunakan untuk memasukan record baru kedalam sebuah tabel
return $res; // Kode ini digunakan untuk mengembalikan hasil $res
}
Sederhana bukan untuk mendapatkan tampilan yang lebih bagus silahkan gunakann css dan bila perlu boostrap untuk menpercantik blog anda.
.::Selamat Mencoba::.

Tidak ada komentar:

Posting Komentar