2012-05-17 30 views
5

Tôi có một mẫu đăng ký nơi tôi đang xác thực tính năng nhập của người dùng. Đây là bộ điều khiển của tôi:Sử dụng dữ liệu POST sau khi xác thực bằng CodeIgniter

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Register extends CI_Controller { 

    public function index() 
    { 
     $this->load->model('Users_model'); 
     $this->load->helper('form'); 
     $this->load->library('form_validation'); 

     $data['page_title'] = 'Register'; 
     $this->load->view('header', $data); 

     // Set form validation rules 
     $this->form_validation->set_rules('username', 'Username', 'trim|required|min_length[5]|max_length[16]|xss_clean|callback_username_check'); 
     $this->form_validation->set_rules('email', 'Email', 'trim|required|min_length[5]|max_length[64]|valid_email|callback_email_check'); 
     $this->form_validation->set_rules('password', 'Password', 'required'); 
     $this->form_validation->set_error_delimiters('<span class="error">', '</span>'); 

     if ($this->form_validation->run() == FALSE) 
     { 
      $this->load->view('register', $data); 
     } 
     else 
     { 
      // Add the user to the database 
      $this->Users_model->add_user(); 
      $this->load->view('register_success', $data); 
     } 

     $this->load->view('footer', $data); 
    } 

    /* Functions to check username and email */ 
} 

/* End of file register.php */ 
/* Location: ./application/controllers/register.php */ 

Vấn đề là với dòng này: $this->Users_model->add_user();. Tôi muốn chuyển tên người dùng, email và mật khẩu cho mô hình Người dùng của tôi để thêm người dùng vào cơ sở dữ liệu của tôi, nhưng tôi không chắc chắn làm thế nào tôi có thể nhận được dữ liệu POST vào phương thức đó. Thông thường tôi muốn sử dụng $_POST['username'] vv nhưng CodeIgniter đã chạy một số chức năng trên các giá trị đầu vào (trim(), xss_clean v.v.). Làm thế nào tôi có thể nhận được các giá trị này và chuyển chúng vào phương pháp add_user() của tôi?

Trả lời

13

CodeIgniter input class cho phép bạn nhận dữ liệu POST sau khi đã được thư viện xác thực biểu mẫu lọc. Trong điều khiển của bạn, bạn sẽ làm như sau:

$username = $this->input->post('username'); 
$email = $this->input->post('email'); 
$password = $this->input->post('password'); 
+0

tưởng nó sẽ là thế này nhưng không chắc lắm nên tôi đã hỏi. Cảm ơn bạn. :) –

+0

Bạn được chào đón! Bạn có quan tâm đến việc bỏ phiếu hoặc chấp nhận câu trả lời của tôi không? – birderic

+0

SO không cho phép tôi chấp nhận câu trả lời ngay lập tức, dường như tôi có thể trong 3 phút. :) –

0

Bạn có thể sử dụng lớp đầu vào cũng như các chức năng helper set_value('email')

1

thậm chí dễ dàng hơn, tạo ra một mảng và gửi mảng với mô hình

Các vấn đề liên quan