ユーザー入力を検証するサインアップフォームがあります。これが私のコントローラーです:
<?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 */
問題はこの行にあります:$this->Users_model->add_user();
。ユーザー名、電子メール、およびパスワードをユーザーモデルに渡して、ユーザーをデータベースに追加したいのですが、POSTデータをそのメソッドに取得する方法がわかりません。通常は$_POST['username']
etcを使用しますが、CodeIgniterは入力値(など)に対していくつかの関数を実行しましtrim()
たxss_clean
。add_user()
これらの値を取得してメソッドに渡すにはどうすればよいですか?