Tampilkan postingan dengan label codeigniter. Tampilkan semua postingan
Tampilkan postingan dengan label codeigniter. Tampilkan semua postingan

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::.

Cara buat multiple users level pada codeigniter

Tutorial ini menceritakan membuat multi level user pada codeigniter. Dengan membuat status yang berbeda pada user untuk mengakses setiap file yang bisa diakses sesuai dengan status user yang dipakai pada saat login. Tutorial ini menggunakan libraries session pada codeigniter.
Tetapi sebelumnya mari kita buat tabel users pada database untuk menyimpan semua data user. berikut ini sql nya:
CREATE TABLE `users` ( `id_users` int(10)AUTO_INCREMENT PRIMARY KEY, `username` varchar(50) NOT NULL, `password` varchar(50) NOT NULL, `email` varchar(70) NOT NULL, `status` enum(‘admin’,’user’,’visitor’) NOT NULL);
Disana kita membuat status user pada 3 bagian yakni admin, user dan visitor. Dimana akses pada tiap status berbeda-beda untuk visitor hanya bisa melihat postingan pada blog, untuk user bisa membuat, mengedit dan menghapus postingan sendiri dan untuk admin bisa membuat mengedit dan menghapus semua orang.Mari kita contoh ini seperti facebook kita sendiri dimana kita bisa membuat status dan mengomentarinya.
Silahkan download file CodeIgniter pada websitenya dan extrak pada file htdocs, dan ganti filenya dengan nama login.Selanjutnya kita buat dengan mengkonfigurasi file autoload.php dan edit libraries dan helpernya yang akan kita gunakan.
$autoload[‘libraries’] = array(‘database’,’session’);
$autoload[‘helper’] = array(‘url’);
Lalu file config.php
$config[‘base_url’] = ‘http://localhost/login/’;
Kemudian databse.php sesuai dengan konfigurasi phpMyadmin yang kita punya,contohnya seperti yang saya buat:
$db[‘default’] = array(
‘dsn’ => ”,
‘hostname’ => ‘localhost’,
‘username’ => ‘root’,
‘password’ => ”,
‘database’ => ‘blog’, // ini nama database yang saya pakai
‘dbdriver’ => ‘mysqli’,
‘dbprefix’ => ”,
‘pconnect’ => FALSE,
‘db_debug’ => (ENVIRONMENT !== ‘production’),
‘cache_on’ => FALSE,
‘cachedir’ => ”,
‘char_set’ => ‘utf8’,
‘dbcollat’ => ‘utf8_general_ci’,
‘swap_pre’ => ”,
‘encrypt’ => FALSE,
‘compress’ => FALSE,
‘stricton’ => FALSE,
‘failover’ => array(),
‘save_queries’ => TRUE
);
untuk file route.php nya kita ganti ke file blog.php dengan mengganti welcome menjadi blog pada default_controller. Pada file blog.php nya pada folder controller saya membuat kode ini dulu untuk membuat index halaman ke loginform.php:
<?php
defined(‘BASEPATH’) OR exit(‘No direct script access allowed’);
class Blog extends CI_Controller {
public function index()
{
$this->load->view(‘loginform’);
}
}
Buatlah loginform.php pada viewnya dengan kode ini:
<?php
defined(‘BASEPATH’) OR exit(‘No direct script access allowed’);
?><!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”utf-8″>
<title>Login Page</title>
</head>
<body>
<form method=”post” action=”<?php echo base_url().”index.php/blog/auth”; ?>” >
<h2>Login Form</h2>
<div><?php echo $this->session->flashdata(‘msg’); ?></div>
<table>
<tr><td>Username</td><td>:</td><td><input type=”text” name=”user”></td></tr>
<tr><td>Password</td><td>:</td><td><input type=”password” name=”pass”></td></tr>
<tr><td colspan=”3″ style=”text-align: center;”><input type=”submit” value=”Login”></td></tr>
</table>
</form>

</body>
</html>
Kode yang bertanda metah itu membuat data yang kita buat ke controller blog.php yang sudah kita buat dengan fungsi auth. Mari kita buat fungsi auth pada blog.php dengan menambahkan kode ini sebelum tanda kurung kurawa terakhir:
public function auth(){
$this->load->model(‘modelnya’);
$user=htmlspecialchars($this->input->post(‘user’,TRUE),ENT_QUOTES);
$pass=htmlspecialchars($this->input->post(‘pass’,TRUE),ENT_QUOTES);
$cek_user=$this->modelnya->authority($user,$pass);
if($cek_user->num_rows() > 0){
$datauser=$cek_user->row_array();
$this->session->set_userdata(‘masuk’,TRUE);
$this->session->set_userdata(‘status’,$datauser[‘status’]);
$this->session->set_userdata(‘username’,$datauser[‘username’]);
$this->session->set_userdata(’email’,$datauser[’email’]);
redirect(‘page’);
}else{
$url=base_url();
echo $this->session->set_flashdata(‘msg’,’Username or password is wrong’);
redirect($url);
}
}
public function logout(){
$this->session->sess_destroy();
redirect(base_url());
}
Nah disini bila si user sudah memasukan usename dan passwordnya maka akan langsung mengalihkan ke controller page.php dengan membawa session yang sudah terekam.
Kemudian buat controller Page.php :
<?php
class Page extends CI_Controller{
function __construct(){
parent::__construct();
if($this->session->userdata(‘masuk’) != TRUE){
redirect(base_url());
}
}
function index(){
$this->load->view(‘dashboard’);
}
public function addusers(){
//menu tambah pengguna hanya untuk admin
if($this->session->userdata(‘status’)==’admin’){
$this->load->view(‘adduser’);
}else{
echo ‘Kamu tidak memiliki akses kesini’;
}
}
public function editselfs(){
//menu edit biodata sendiri untuk semua status
$this->load->view(‘editself’);
}
public function showposts(){
//menu show post untuk semua status
$this->load->view(‘showpost’);
}
public function addposts(){
//menu add post untuk semua status admin dan user
if($this->session->userdata(‘status’)==’admin’ || $this->session->userdata(‘status’)==’user’){
$this->load->view(‘addpost’);
}else{
echo ‘Kamu tidak memiliki akses kesini’;
}
}
public function editallposts(){
//menu edit semua post untuk semua status admin
if($this->session->userdata(‘status’)==’admin’){
$this->load->view(‘editallpost’);
}else{
echo ‘Kamu tidak memiliki akses kesini’;
}
}
public function myposts(){
//menu mypost untuk semua status admin dan user
if($this->session->userdata(‘status’)==’admin’ || $this->session->userdata(‘status’)==’user’){
$this->load->view(‘mypost’);
}else{
echo ‘Kamu tidak memiliki akses kesini’;
}
}
}

Pada kode Page.php kita memilah-milah status user mana yang boleh dan tidak boleh menggunakan halaman-halaman. Kemudian selanjutnya meload view dashboard.php. Tapi sebelum kita membuat file dashboard.php kita buat navigasi bar untuk membuat link pada setiap session yang digunakan. Ini adalah navbar.php yang akan dimuat pada dashboard.php.
<!– ini untuk navigasi pada setiap status user sesuai dengan session masuk –>
<nav>
<div>
<ul>
<!– ini untuk navigasi admin –>
<?php if($this->session->userdata(‘status’)==’admin’):?>
<li><a href=”<?php echo base_url().’index.php/page’;?>”>Dashboard</a></li>
<li><a href=”<?php echo base_url().’index.php/page/showposts’;?>”>All posts</a></li>
<li><a href=”<?php echo base_url().’index.php/page/addposts’;?>”>New post</a></li>
<li><a href=”<?php echo base_url().’index.php/page/myposts’;?>”>My posts</a></li>
<li><a href=”<?php echo base_url().’index.php/page/editallposts’;?>”>Edit All Posts</a></li>
<li><a href=”<?php echo base_url().’index.php/page/addusers’;?>”>Add User</a></li>
<li><a href=”<?php echo base_url().’index.php/page/editselfs’;?>”>My Biodata</a></li>
<!– ini untuk navigasi user –>
<?php elseif($this->session->userdata(‘status’)==’user’):?>
<li><a href=”<?php echo base_url().’index.php/page’;?>”>Dashboard</a></li>
<li><a href=”<?php echo base_url().’index.php/page/showposts’;?>”>All posts</a></li>
<li><a href=”<?php echo base_url().’index.php/page/addposts’;?>”>New post</a></li>
<li><a href=”<?php echo base_url().’index.php/page/myposts’;?>”>My posts</a></li>
<li><a href=”<?php echo base_url().’index.php/page/editselfs’;?>”>My Biodata</a></li>
<!– ini untuk navigasi visitor –>
<?php else:?>
<li><a href=”<?php echo base_url().’index.php/page’;?>”>Dashboard</a></li>
<li><a href=”<?php echo base_url().’index.php/page/showposts’;?>”>All posts</a></li>
<li><a href=”<?php echo base_url().’index.php/page/editselfs’;?>”>My Biodata</a></li>
<?php endif; ?>
</ul>
<ul>
<li><a href=”<?php echo base_url().’index.php/blog/logout’;?>”>Logout</a></li>
</ul>
</div>
</nav>
Selanjutnya view dashboard.php
<?php
defined(‘BASEPATH’) OR exit(‘No direct script access allowed’);
?><!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”utf-8″>
<title>Dashboard</title>
</head>
<body>
<div>
<?php $this->load->view(‘navbar’);?>
<div>
<h2>Welcome back <?php echo $this->session->userdata(‘username’);?></h2>
</div>
</div>
</body>
</html>
Silahkan mencoba!
.: GOOD LUCK :.

Kamis, 18 Oktober 2018

Cara Buat Blog Dengan Codeigniter part 2

Ini tutorial lanjutan dari postingan sebelumnya. Mari kita buat fungsi updatenya pada Model.php dengan menambahkannya setelah fungsi yang ada. Silahkan salin kode ini:
public function Update($table, $data, $where){
$res = $this->db->update($table, $data, $where); // Kode ini digunakan untuk merubah record yang sudah ada dalam sebuah tabel
return $res;
}
Selanjutnya kita mesti membuat controllernya pada Model.php. Tambahkan fungsi editdata dan update untuk mengalihkan ke halaman editpage.php dan mengubah data.
public function edit_data($res){
$where = array(
‘no_post’ => $res
);
$data[‘hasil’]=$this->db->get_where(‘post’,$where);
$this->load->view(‘editpage’,$data);
}
public function update($res){
$tanggal= date(“Y-m-d”);
$waktu= date(“H:i:s”);
$this->load->model(‘model’);
$data = array(
‘penulis’ => $this->input->post(‘penulis’),
‘judul’ => $this->input->post(‘judul’),
‘isi’ => $this->input->post(‘content’),
‘tanggal’ => $tanggal,
‘waktu’ => $waktu
);
$where = array(
‘no_post’ => $res
);
$data = $this->model->Update(‘post’, $data,$where);
redirect(base_url(),’refresh’);
}
Mari kita buat editpage.php pada folder view, yang dimana halaman ini akan memuat data yang kita akan edit pada halaman sebelumnya. Sehingga kita menyimpan perubahanya. Kode dari file editpage.php yakni :
<?php
defined(‘BASEPATH’) OR exit(‘No direct script access allowed’);
?><!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”utf-8″>
<title>Edit data in CodeIgniter</title>
</head>
<body>
<div id=”container”>
<h1>Edit postingan di blog!</h1>
<p id=”body”>
<table class=’table’>
<?php foreach ($hasil->result() as $ganti) :?>
<form method=”post” action=”<?php echo base_url().”index.php/home/update/”.$ganti->no_post;; ?>”>
<tr>
<td>Penulis</td>
<td>:</td>
<td><input required type=”text” name=”penulis” value=”<?php echo “$ganti->penulis”; ?>”></td>
</tr>
<tr>
<td>Judul</td>
<td>:</td>
<td><input type=”text” name=”judul” value=”<?php echo “$ganti->judul”; ?>”></td>
</tr>
<tr>
<td>Isi Content</td>
<td>:</td>
<td><textarea name=”content”><?php echo “$ganti->isi”; ?></textarea></td>
</tr>
<tr>
<td><input class=”bEdit” type=”submit” name=”submit” value=”Update”>
</td><td></td><td><a href=”<?php echo base_url(); ?>”><input class=”bSimpan” value=”Cancel”></a></td>
</tr>
</form>
<?php endforeach; ?>
</table>
</p>
</body>
</html>
Selanjutnya mari kita buat fungsi delete pada model sehingga bisa menghapus postingan yang kita buat. salin kode ini setelah fungsi yang tadi kita buat pada file Model.php.
public function Delete($table, $where){
$res = $this->db->delete($table, $where); // Kode ini digunakan untuk menghapus record yang sudah ada
return $res;
}
Selajutnya buat fungsi delete pada controller yang ada pada file Home.php, tambahkan kode di bawah ini seteh fungsi yang tadi kita buat.
public function hapus_data($dt){
$where = array(
‘no_post’ => $dt
);
$this->load->model(‘model’);
$where=$this->model->Delete(‘post’, $where);
redirect(base_url(),’refresh’);
}
Silahkan uji tombol delete dan update. Bila terjadi error silahkan periksa kembali kode yang anda masukkan.
.:. SEMOGA BERHASIL .:.

Cara Buat Blog Dengan Codeigniter

Sebelumnya kita telah membuat form dari Codeigniter. Selanjutnya kita buat postingan dengan menggunakan metode MVC yakni Model View Controller.

Mari kita buat databasenya terlebih dahulu untuk menyimpan postingan yang kita buat. Untuk membuatnya silahkan masukan kode sql ini pada mysql. Ini bisa dimasukan melalui console atau command prompt.
mysql -u root -p
pada kode diatas merupakan jalan masuk database mysql dengan user root lalu masukan password atau langsung tekan enter bila tidak memakai password. create database blog; use blog; CREATE TABLE `post` ( `no_post` int(19) PRIMARY KEY AUTO_INCREMENT, `penulis` varchar(25) NOT NULL, `judul` varchar(30) NOT NULL, `isi` text NOT NULL, `tanggal` varchar(20) NOT NULL, `waktu` varchar(10));

Pengaturan autoload.php config.php dan database.php nya harus benar agar database bisa terakses oleh applikasi kita. Buat konfiguasi router.php ke home.Kemudian mari kita buat controller Home.php pada file controller untuk menampilkan dan menambahkan data. Lalu salin kode ini.
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Home extends CI_Controller { public function index() { $this->load->model('model'); $data = $this->model->GetPost('post'); $data = array('data' => $data); $this->load->view('homepage', $data); } public function insert(){ $this->load->model('model'); $tanggal= date("Y-m-d"); $waktu= date("H:i:s"); $data = array( 'penulis' => $this->input->post('penulis'), 'judul' => $this->input->post('judul'), 'isi' => $this->input->post('content'), 'tanggal' => $tanggal, 'waktu' => $waktu ); $data = $this->model->Insert('post', $data); redirect(base_url(),'refresh'); } }

Kita harus membuat model untuk memanipulasi data yang ada pada database. Dibawah ini merupakan kodenya agar bisa menampilkan dan menambahkan datanya dan save dengan nama Model.php pada file model.
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Model extends CI_Model{ public function GetPost($table){ $res=$this->db->get($table); // Kode ini berfungsi untuk memilih tabel yang akan ditampilkan return $res->result_array(); // Kode ini digunakan untuk mengembalikan hasil operasi $res menjadi sebuah array } public function Insert($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 } } ?>
Lalu kita buat file homepage.php pada folder view. Untuk kodenya silahkan salin kode ini. Saya menggabungkan form tambah dan lihat postingannya pada halaman ini.

<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?><!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Input data in CodeIgniter</title> </head> <body> <div id="container"> <h1>Input postingan di blog!</h1> <p id="body"> <table class='table'> <form method="post" action="<?php echo base_url()."index.php/home/insert"; ?>"> <tr> <td>Penulis</td> <td>:</td> <td><input required type="text" name="penulis"></td> </tr> <tr> <td>Judul</td> <td>:</td> <td><input type="text" name="judul"></td> </tr> <tr> <td>Isi Content</td> <td>:</td> <td><textarea name="content"></textarea></td> </tr> <tr> <td><input colspan="3" class="bSimpan" type="submit" name="submit" value="Simpan"></td> </tr> </form> </table> <h2 class="view">Tampilan Posting Anda:</h2> </p> <p> <?php foreach ($data as $postData) {?> <h1 class="judul"><?php echo $postData['judul']; ?></h1> <div class="penulis">Penulis : <?php echo $postData['penulis']; ?></div> <br \> <code><?php echo $postData['isi']; ?><br \></code> <a href="<?php echo base_url()."index.php/home/edit_data/".$postData['no_post']; ?>"><button class="bEdit">Edit</button></a> <a href="<?php echo base_url()."index.php/home/hapus_data/".$postData['no_post']; ?>"><button class="bDelete">Delete</button></a><br \> <div class="kelas">Tanggal terbit :<?php echo $postData['tanggal']; ?> <t></t> pada jam :<?php echo $postData['waktu']; ?></div><br \> <hr \> <?php } ?> </p> </div> <p class="footer"> Created by www.zakycomputer.me </p> </body> </html>

Dibawah ini merupakan tampilan pada saat kita akses pada browser. Postingan selanjutnya kita akan mengubah dan menghapus postingan.