PDA

View Full Version : CodeIgniter 14- Thực hành đăng ký thành viên



tiendat3791
25-11-2016, 11:32 AM
Hôm nay chúng ta sẽ bắt đầu vào 1 ví dụ thực hành đầu tiên trong loạt bài Học Codeigniter cơ bản: Xây dựng chức năng Đăng ký thành viên bằng Codeigniter.
Tạo form trong view

Trước tiên chúng ta sẽ tạo 1 file file: application/views/themes/register.php
Cách 1: HTML thuần

Sử dụng HTML như bình thường để tạo 1 form đăng ký thành viên
<!-- Khởi tạo form-->

<form action="<?php echo base_url();?>user/register" method="post">
<p>Tài khoản <input type="text" name="username" /></p>
<p>Mật khẩu <input type="password" name="password" /></p>
<p>Nhập lại mật khẩu <input type="password" name="repassword" /></p>
<p><input type="submit" name="submit" value="Đăng ký" /></p>
</form>
<!--hiển thị trạng thái hoặc báo lỗi nếu có-->
<div class="status"><?php echo $this->session->flashdata('notice');?></div>Cách 2: Sử dụng Helper

Như đã tìm hiểu về bài Helper trong Codeigniter, CI hỗ trợ chúng ta 1 số helper trong đó có helper form là các function cho phép khởi tạo form và các trường dữ liệu. Đừng quên gọi helper trước khi sử dụng nhé <3
<?php
echo form_open('user/register'); //Khởi tạo form
echo form_input('username','Tài khoản');//Tạo input username
echo form_password('password');//Tạo input password
echo form_password('repassword');//Tạo input repassword
echo form_submit('submit','Đăng ký');//tham số gồm name và value
?>Tạo controller

Tạo controller: application/controller/user.php
<?php
class User extends{
public function __construct(){
parent::__construct();
$this->load->helper(array('url','form'));
$this->load->library(array('form_validation','database','sessio n'));
$this->load->model('user_model'); //Tải model user_model.php
}
public function register(){

if($this->input->post('submit')){
$this->form_validation->set_rules('username','Tài khoản','required|min_length[6]|xss_clean');
$this->form_validation->set_rules('password','Mật khẩu','required|min_length[6]|xss_clean');
$this->form_validation->set_rules('repassword','Nhập lại mật khẩu','required|min_length[6]|matches[password]|xss_clean');
if($this->form_validation->run()){
//Thêm vào database
$userid= $this->user_model->register();//Lấy về userid, nếu thành công sẽ có userid,nếu thất bại sẽ trả về false( xem phương thức register ở model bên dưới để hiểu ý nghĩa nhé^^)
if($userid){
$this->session->set_flashdata('notice','Đăng ký thành công');
redirect('user/register');
}else{
$this->session->set_flashdata('notice','Đăng ký không thành công, vui lòng thử lại');
redirect('user/register');
}
}
$this->load->view('themes/register');
}

}
}
?>Model thêm thành viên vào Database

Ở ví dụ Đăng ký thành viên với Codeigniter này chúng ta có gọi tới model user_model để thêm thành viên vào CSDL, vì vậy chúng ta cần tạo file application/model/user_model.php với nội dung
<?php
class User_model extends CI_Model{
public function __construct(){
parent::__construct();
}
public function register(){
$data= array(
'username'=>$this->input->post('username');
'password'=>md5($this->input->post('username'));
);
$this->db->insert('users',$data);
$userid=$this->db->insert_id();//Lấy ID vừa insert được chính là user id.
return $userid;
}
}
?>Như vậy là chúng ta đã hoàn thành 1 bài cơ bản về Đăng ký thành viên trong Codeigniter- một phần rất quan trọng trong thiết kế website như: thiết kế website bán hàng, thiết kế website trường học,...
Cảm ơn các bạn đã theo dõi bài viết, chúc các bạn học tập tốt!
P/s: Coppy đừng quên ghi rõ nguồn: Công ty thiết kế web OTVINA nhé <3