Top Ad unit 728 × 90

Xây dựng modul quản trị viên trong trang tin tức phần 2

Chào các bạn!

Hôm nay chúng ta tiếp tục xây dựng modul quản trị trang nhé! Nhưng trước khi vào bài ngày hôm nay thì chúng ta đi ôn lại bài cũ nhé!

Ở bài trước (Xem lại Xây dựng modul quản trị viên trong trang tin tức phần 1) chúng ta đã cùng nhau lấy dữ liệu và hiển thị lên view danh sách thành viên ban quản trị.
Và hôm nay chúng ta tiếp tục thêm phương thức thêm thành viên quản trị mới.

Trước khi tạo phương thức thêm ở file Admin.php trong Controller chúng ta thêm nút thêm nút bấm thêm mới thành viên trên giao diện đã được xây dựng ở bài trước.

<button type="reset" onclick="window.location.href = '<?= admin_url('admin/add')?>'; " class="btn btn-danger"><i class="fa fa-plus-square" ></i> Thêm thành viên</button>

OK! Bây giờ chúng ta vào xây dựng view thêm thành viên.
 Các bạn vào theo đường dẫn như sau để tạo file view đặt tên là add.php (Các bạn có thể thay đổi đường dẫn tùy vào cách đặt tên của các bạn nhé):

- view/admin/admin các tạo file add.php với nội dung file như sau:
                  <div class="col-lg-12 col-xlg-12 col-md-12">
                        <div class="card">
                            <div class="card-block">
                                <form class="form-horizontal form-material">
                                    <div class="form-group">
                                        <label class="col-md-12">Full Name</label>
                                        <div class="col-md-12">
                                            <input type="text" placeholder="Johnathan Doe" class="form-control form-control-line" name="name">
                                        </div>
                                    </div>
                                    <div class="form-group">
                                        <label for="example-email" class="col-md-12">Email</label>
                                        <div class="col-md-12">
                                            <input type="email" placeholder="johnathan@admin.com" class="form-control form-control-line" name="email" id="example-email">
                                        </div>
                                    </div>
                                    <div class="form-group">
                                        <label class="col-md-12">Password</label>
                                        <div class="col-md-12">
                                            <input type="password" value="password" name="password" class="form-control form-control-line">
                                        </div>
                                    </div>
                                    <div class="form-group">
                                        <label class="col-md-12">Phone No</label>
                                        <div class="col-md-12">
                                            <input type="text" name="phone" placeholder="123 456 7890" class="form-control form-control-line">
                                        </div>
                                    </div>
                                    <div class="form-group">
                                        <label class="col-sm-12">Select Country</label>
                                        <div class="col-sm-12">
                                            <select class="form-control form-control-line">
                                                <option>London</option>
                                                <option>India</option>
                                                <option>Usa</option>
                                                <option>Canada</option>
                                                <option>Thailand</option>
                                            </select>
                                        </div>
                                    </div>
                                    <div class="form-group">
                                        <div class="col-sm-12">
                                            <button class="btn btn-success" type='submit'>Created</button>
                                        </div>
                                    </div>
                                </form>
                            </div>
                        </div>
                    </div>


Trong file add.php có trường password các bạn có thể thêm vào hoặc để hệ thống tự tạo cũng được không sao nhé! Ở đây thì mình cho người thêm gõ vào.

Tiếp đến là chúng ta sang controller để xử lý.

- controllers/admin/Admin.php tạo thêm phương thức add như sau:

public function add(){
    if($this->input->post()){
        $this->form_validation->set_rules('name','Họ và tên','required');
       $this->form_validation->set_rules('email','Email','required|valid_email');
       $this->form_validation->set_rules('password','Mật khẩu','required|min_length[8]');
       $this->form_validation->set_rules('phone','Sđt','required|numeric|callback_check_user');
       // ở đây mình dùng số điện thoại của thành viên quản trị là tên đăng nhập các bạn có thể lấy tên khác nhé!
    
        if($this->form_validation->run()){
             $data = array(
                  'name' => $this->input->post('name');
                  'email' => $this->input->post('email');
                  'username' => $this->input->post('phone');
                  'password' => md5($this->input->post('password'));
             );
            if($this->admin_model->create($data)){
                $this->session->set_flashdata('message', 'Thêm thành công!');
           }else{
                $this->session->set_flashdata('message', 'Thêm thất bại!');
           }
           redirect(admin_url('admin'));
        }
    }
}

/*
    *    Kiểm tra tồn tại username của thành viên
    */
    function check_user(){
        $username = $this->input->post('phone');
        $where = array('phone' => $username);
        if($this->admin_model->check_exists($where)){
            $this->form_validation->set_message(__FUNCTION__,'Tài khoản <b style="color:#000">'.$username.'</b> đã tồn tại');
            return false;
        }
        return true;
    }


Còn phương thức sửa mình sẽ chuyển sang một bài khác để có thể hướng dẫn chi tiết hơn. Tiếp đến chúng ta sẽ xây dựng thêm phương thức để xóa thành viên quản trị. Vẫn trong file Admin.php trong controllers chúng ta tạo ra phương thức xóa như sau:

public function delete(){
     $id = $this->uri->rsegment(3);
     $id = intval($id);
     $info = $this->admin_model->get_info($id);
     if(!$info)
    {
        $this->session->set_flashdata('message', array('status'=>0,'message'=>'Không tồn tại quản trị viên này!'));
        redirect(admin_url('admin'));
    }
    $this->admin_model->delete($id);
    $this->session->set_flashdata('message', 'Xóa thành công!');
   redirect(admin_url('admin'));
}

Ok! vậy là chúng ta đã tạo được thêm 2 phương thức mới trong modul quản trị viên. Còn thêm một phương thức sửa nữa là chúng ta hoàn thành modul này. Và phương thức sửa mình sẽ để bài khác mình sẽ hướng dẫn chi tiết hơn. Và bài ngày hôm nay cũng khá dài rồi, mình sẽ dừng lại tại đây và hẹn các bạn vào bài tiếp theo!

Nếu thấy hay nhớ share cho mọi người cùng học nhé!
Chúc các bạn thành công!
Xây dựng modul quản trị viên trong trang tin tức phần 2 Reviewed by Thế Giới Tri Thức on tháng 10 19, 2017 Rating: 5

Không có nhận xét nào:

All Rights Reserved by THẾ GIỚI TRI THỨC © 2018
Thiết kế bởi: THẾ GIỚI TRI THỨC

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.