แจกระบบแจ้งซ่อม, Helpdesk System สำหรับศึกษาและพัฒนาต่อยอด v0.4
Features
-พัฒนาด้วย CodeIgniter framework + Mysql + AdminLTE + Bootstrap4
เงื่อนไขการแจก
-แจก Source code ให้ไปศึกษาและพัฒนาต่อยอด แจกเป็นเวอร์ชั่น มีการอัพเดทเรื่อยๆ
v0.4
Release Date: May 2, 2020.
Features updates
Actors
– Admin => Add Login System
Controllers
– Login => add Fn. index, Fn.authen, Fn.logout
– Admin => add Fn. index.
Models
– Admin_model => added Fn.fetch_user_login
Views
– add home/login_view.php
– add mainpage_view.php
– update home/form_view.php (add link “login”)
– update home/footer.php (sweetalert => login_error, logout_success)
Databases
– add tbl_admin
โค้ดต้นฉบับ *จำเป็นต้องโหลดครับ
v0.2 https://devbanban.com/?p=3325
v0.3 https://devbanban.com/?p=3381
คลิปแนะนำว่าต้องทำอะไรบ้าง
tbl_admin
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
CREATE TABLE `tbl_admin` ( `id` int(11) NOT NULL, `admin_email` varchar(50) NOT NULL, `admin_pwd` varchar(50) NOT NULL, `admin_name` varchar(50) NOT NULL, `admin_status` int(1) NOT NULL COMMENT '0=BAN, 1=Online' ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Dumping data for table `tbl_admin` -- INSERT INTO `tbl_admin` (`id`, `admin_email`, `admin_pwd`, `admin_name`, `admin_status`) VALUES (1, 'a@a.com', 'c58a03e5842fa1ad52d6781faaf0921bf039c2f0', 'Mr.Admin', 1); ALTER TABLE `tbl_admin` ADD PRIMARY KEY (`id`); ALTER TABLE `tbl_admin` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; |
views/home/form_view.php
1 2 3 |
<li class="nav-item active"> <a class="nav-link" href="<?= site_url('login');?>">Login</a> </li> |
controllers/Login.php
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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Login extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('admin_model'); } public function index() { $this->load->view('home/header'); $this->load->view('home/login_view' , array('error' => ' ' )); $this->load->view('home/footer'); } public function authen() { if($this->input->post('admin_email')==''){ redirect('login','refresh'); }else{ $result = $this->admin_model->fetch_user_login( $this->input->post('admin_email'), sha1($this->input->post('admin_pwd')) ); if(!empty($result)){ //create session var & value $sess=array( 'id' => $result->id, 'admin_status' => $result->admin_status, 'admin_name' => $result->admin_name ); $this->session->set_userdata($sess); //admin status $admin_status = $_SESSION['admin_status']; if($admin_status==1){ //echo 'r u admin'; redirect('admin','refresh'); }else{ //u not admin $this->session->set_flashdata('login_error', TRUE); $this->session->unset_userdata(array('id','admin_status','admin_name')); redirect('login', 'refresh'); } }else{ $this->session->set_flashdata('login_error', TRUE); $this->session->unset_userdata(array('id','admin_status','admin_name')); redirect('login', 'refresh'); } } } public function logout() { $this->session->set_flashdata('logout_success', TRUE); $this->session->unset_userdata(array('id','admin_status','admin_name')); redirect('', 'refresh'); } } |
views/home/login_view.php
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 52 53 54 55 56 57 58 59 |
<div class="container"> <div class="row"> <div class="col-12 col-sm-12 col-md-12"> <h3 class="jumbotron" style="margin-bottom: 0px;"> ::Helpdesk v0.4:: </h3> </div> </div> </div> <div class="container"> <div class="row"> <div class="col col-sm-12 col-md-12"> <nav class="navbar navbar-expand-lg navbar-light" style="background-color: #d6d4d0;"> <a class="navbar-brand" href="<?= site_url('');?>">HelpDesk</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a class="nav-link" href="<?= site_url('');?>">Home <span class="sr-only">(current)</span></a> </li> <li class="nav-item"> <a class="nav-link" href="https://devbanban.com/?p=2867" target="_blank">คอร์สออนไลน์สอน CodeIgniter</a> </li> <li class="nav-item active"> <a class="nav-link" href="<?= site_url('login');?>">Login</a> </li> </ul> </div> </nav> </div> </div> </div> <div class="container" style="margin-top: 30px"> <div class="row"> <div class="col-sm-4 col-md-4"></div> <div class="col col-sm-8 col-md-8"> <form action="<?= site_url('login/authen');?>" method="post" class="form-horizontal"> <div class="form-group col col-md-5"> <h3>Login Form</h3> </div> <div class="form-group col col-md-5"> <label>Username</label> <input type="email" name="admin_email" class="form-control" required minlength="3" placeholder="*email" value="<?= set_value('admin_email'); ?>"> <span class="fr"><?= form_error('admin_email'); ?></span> </div> <div class="form-group col col-md-5"> <label>Password</label> <input type="password" name="admin_pwd" class="form-control" required placeholder="*Password" value="<?= set_value('admin_pwd'); ?>"> <span class="fr"><?= form_error('admin_pwd'); ?></span> </div> <div class="form-group col col-md-5"> <button type="submit" class="btn btn-primary" style="width: 100%">Login</button> </div> </form> </div> </div> </div> |
models/Admin_model.php
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Admin_model extends CI_Model { public function fetch_user_login($username,$password) { $this->db->where('admin_email',$username); $this->db->where('admin_pwd',$password); $query = $this->db->get('tbl_admin'); return $query->row(); } } |
views/home/footer.php
1 2 3 4 5 6 7 8 9 10 11 |
<script type="text/javascript"> <?php if ($this->session->flashdata('save_success')): ?> swal("", "บันทึกข้อมูลเรียบร้อยแล้ว", "success"); <?php endif; ?> <?php if ($this->session->flashdata('login_error')): ?> swal("", "Username or Password ไม่ถูกต้อง !!", "warning"); <?php endif; ?> <?php if ($this->session->flashdata('logout_success')): ?> swal("", "คุณออกจากระบบเรียบร้อยแล้ว", "success"); <?php endif; ?> </script> |
controllers/Admin.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Admin extends CI_Controller { public function __construct() { parent::__construct(); //chk admin status if($this->session->userdata('admin_status') !=1){ redirect('login/logout','refresh'); } } public function index() { $this->load->view('template/header'); $this->load->view('mainpage_view'); $this->load->view('template/footer'); } } |
views/mainpage_view.php
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 |
<!-- Content Wrapper. Contains page content --> <div class="content-wrapper"> <!-- Content Header (Page header) --> <section class="content-header"> <h1> รายการแจ้งซ่อม </h1> </section> <!-- Main content --> <section class="content"> <div class="row"> <div class="col-xs-12"> <div class="box"> <!-- /.box-header --> <div class="box-body"> <?php echo '<pre>'; print_r($_SESSION); echo '</pre>'; ?> </div> <!-- /.box-body --> </div> <!-- /.box --> </div> <!-- /.col --> </div> <!-- /.row --> </section> <!-- /.content --> </div> <!-- /.content-wrapper --> |
*คอร์สออนไลน์สอน CodeIgniter แบบละเอียดทุกขั้นตอนคลิก
สนใจระบบนี้ inbox มาที่เพจครับ
ร่วมสนับสนุน ค่ากาแฟ ค่าโฮส devbanban.com ได้ที่
ธนาคารกรุงไทย สาขาเดอะมอลล์ท่าพระ
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 878-0-17747-6
————————————————————————————
ธนาคารไทยพาณิชย์ สาขามหาวิทยาลัยราชภัฏธนบุรี
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 406-359094-1
————————————————————————————
ธนาคารกสิกร สาขาเออร์เบิร์น สแควร์ ประชาชื่น
ชื่อบัญชี นายพิศิษฐ์บวรเลิศสุธี เลขที่ 048-1-17571-2
แฟนเพจ : https://www.facebook.com/sornwebsites/