Học lập trinh web PHP CodeIgniter Framework sử dụng phần mêm ATCSMART gồm các bài sau.
0. Điều kiện cần cài đặt XAMPP (Appache + MySQL) xem tại Hưỡng dẫn cài Xampp
1. Tạo chức năng các bảng dữ liệu
CREATE DATABASE BlogATC;
USE BlogATC;
CREATE TABLE IF NOT EXISTS roile (
id int unsigned NOT NULL AUTO_INCREMENT ,
name varchar (100) NULL,
status tinyint(1) NULL,
access varchar(500) NULL
, INDEX(id), PRIMARY KEY(id))
ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS menu (
id int unsigned NOT NULL AUTO_INCREMENT ,
name varchar (150) NULL,
parent int NULL,
sort int NULL,
link varchar (255) NULL,
status tinyint(1) NULL
, INDEX(id), PRIMARY KEY(id))
ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS category (
id int unsigned NOT NULL AUTO_INCREMENT ,
name varchar (255) NULL,
sort int NULL,
parrent int NULL,
status boolean NULL
, INDEX(id), PRIMARY KEY(id))
ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS blog (
id int unsigned NOT NULL AUTO_INCREMENT ,
name varchar (255) NULL,
sort int NULL,
images varchar (255) NULL,
categoryid int NULL,
description varchar(500) NULL,
status boolean NULL,
content varchar(500) NULL,
datepost date NULL
, INDEX(id), PRIMARY KEY(id))
ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS user (
username int NOT NULL,
name varchar (50) NULL,
password varchar (50) NULL,
roileid int NULL
, PRIMARY KEY(username))
ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS contact (
id int unsigned NOT NULL AUTO_INCREMENT ,
name varchar (255) NULL,
email varchar (100) NULL,
phone varchar (20) NULL,
message varchar(500) NULL,
status boolean NULL,
datesend date NULL
, INDEX(id), PRIMARY KEY(id))
ENGINE=InnoDB;
ALTER TABLE User
ADD FOREIGN KEY(roileid) REFERENCES Roile(id);
ALTER TABLE Blog
ADD FOREIGN KEY(categoryid) REFERENCES Category(id);
2. Tạo và backup database lên MYSQL Hoặc MariaDB
3. Bulding code và chọn mẫu và xuất ra thu mục.
1. File CI_Controller.php
<?php
/**
*--Project: BlogATC
--Design by: ATC PRO
-- Date time: 8/15/2020 12:34:05 AM
* This controller handles project management.
*/
class Contact extends CI_Controller
{
public $user_id;
public $user_name;
public function __construct(Type $foo = null)
{
parent::__construct();
if (!$this->session->userdata('logged_in')) {
$this->session->set_flashdata('flash_danger', 'Vui lòng đăng nhập để xem trang');
header('location: ' .base_url().'backend/login');
}
else
{
$user_id = $this->session->userdata('user_id');
$user_name = $this->session->userdata('user_name');
}
$this->load->model('contact_model');
}
public function index()
{
$this->load->view('back_end_template/content', `
'template' => 'backend/contact/index','sl'=>1,
'data' => $this->contact_model->get_contact()
`);
}
public function create()
{
$data = $this->contact_model->get_where_contact('0');
$this->load->view('back_end_template/content', `'template' => 'backend/contact/create','data' => $data `);
}
public function add()
{
$data = $this->contact_model->create_contact(`
'id' => $this->input->post('id'),
'name' => $this->input->post('name'),
'email' => $this->input->post('email'),
'phone' => $this->input->post('phone'),
'message' => $this->input->post('message'),
'status' => $this->input->post('status'),
'datesend' => $this->input->post('datesend'),
`);
if ($data) {
$this->session->set_flashdata('flash_success', 'Your contact has been created');
return header('location: ' .base_url().'backend/contact/show/'.$data->id);
}
}
public function search(){
$data`'template'` = 'backend/contact/index';
$keyword = $this->input->post('keyword');
$column = $this->input->post('column');
$list_col = array('id' => $keyword,'name' => $keyword,'email' => $keyword,'phone' => $keyword,'message' => $keyword,'status' => $keyword,'datesend' => $keyword,);
if($column!="")
{
$columns="contact.$column";
$list_col =array($columns => $keyword);
}
$config`'$keyword'` = $keyword;
$config`'$columnsearch'` = $column;
$config`'base_url'` = site_url('backend/contact/search/');
$config`'total_rows'` = $this->get_model->atc_get_count_search('contact',$list_col);
$data`'sl'` = $config`'total_rows'`;
$config`'per_page'` = 10;
$config`'uri_segment'` = 3;
$config`'cur_tag_open'` = '<a class="current_page" href="backend/contact/">';
$config`'cur_tag_close'` = '</a>';
$this->pagination->initialize($config);
$data`'data'` = $this->get_model->atc_get_search('contact',$list_col,$config`'per_page'`, $this->uri->segment($config`'uri_segment'`));
$data`'link'` = $this->pagination->create_links();
$this->load->view('back_end_template/content', $data);
}
public function show($id)
{
$data = $this->contact_model->get_where_contact($id);
if (!$data) {
$this->denied_message();
return header('location: ' .base_url().'backend/contact');
}
$this->load->view('back_end_template/content', `
'template' => 'backend/contact/show',
'data' => $data
`);
}
public function edit($id)
{
$data = $this->contact_model->get_where_contact($id);
if (!$data) {
$this->denied_message();
return header('location: ' .base_url().'backend/contact');
}
$this->load->view('back_end_template/content', `'template' => 'backend/contact/edit', 'data' => $data `);
}
public function update()
{
$data = `
'id' => $this->input->post('id'),
'name' => $this->input->post('name'),
'email' => $this->input->post('email'),
'phone' => $this->input->post('phone'),
'message' => $this->input->post('message'),
'status' => $this->input->post('status'),
'datesend' => $this->input->post('datesend'),
`;
$ID=$this->input->post('id');
$url=$this->input->post('urlre');
if ($this->contact_model->update_contact( $data,$ID)) {
$this->session->set_flashdata('flash_success', 'Your contact has been updated');
if($url=="save")
{
return header('location: ' .base_url().'backend/contact/');
}
return header('location: ' .base_url().'backend/contact/show/'.$ID);
}
}
public function deleteall()
{
$con = $this->input->post('id_check');
$num_array = count($con);
if($num_array>0){
for($i=1;$i<=$num_array;$i++)
{
$id = $con`$i-1`;
$this->contact_model->delete_contact($id);
}
$this->session->set_flashdata('flash_success', 'Tất cả đã xóa thành công !');
}
return header('location: ' .base_url().'backend/contact');
}
public function delete($id)
{
if(isset($_POST`'id'`))
{
$id=$_POST`'id'`;
}
$data= $this->contact_model->get_where_contact($id);
if (!$data) {
$this->denied_message();
return header('location: ' .base_url().'backend/contact');
}
if ($this->contact_model->delete_contact($id)) {
$this->session->set_flashdata('flash_success', 'Your contact has been deleted');
} else {
$this->denied_message();
}
return header('location: ' .base_url().'backend/contact');
}
private function denied_message()
{
$this->session->set_flashdata('flash_danger', 'That contact does not exist or you do not have permission');
}
}
2.File Model Blog.php
<?php
/**
*--Project: BlogATC
--Design by: ATC PRO
-- Date time: 8/15/2020 12:34:09 AM
*/
class Contact_model extends CI_Model
{
public function create_Contact($data)
{
$this->db->insert('Contact', $data);
$id=$this->db->insert_id();
if($id==0)
{
return base_url().'backend/Contact';
}
return $this->db->get_where('Contact', `'id' => $id`)->row();
}
public function get_Contact()
{
$this->db->select('Contact'.'.*', FALSE);
$this->db->from('Contact');
$query = $this->db->get();
return $query->result();
}
public function get_where_Contact($id)
{
return $this->db->get_where('Contact', `'id' => $id`)->result();
}
public function get_Contact_where( $id)
{
return $this->db->get_where('Contact', `'id' => $id`)->row();
}
public function update_Contact( $data, $id)
{
return $this->db->where(`'id' => $id`)->update('Contact', $data);
}
public function delete_Contact( $id)
{
return $this->db->where(`'id' => $id`)->delete('Contact');
}
}
3. File View indexp.php
4. Xuất code và cấu hình thư mục cho đúng
5. Chạy demo và triển khai đăng nhập quản lý
6. Cập nhật chỉnh sửa theo ý 1 số mục cần thiết.
7. Hoàn thiện lần cuối.
8. Triển khai đưa sản phẩm lên hosting domain
----Nội dung đang được cập nhật----