2 つのビューと 1 つのコントローラーを使用して、検証付きの登録フォームを作成するためのチュートリアルに従いました。
これをコントローラーに書きました:
function index()
{
$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');
$this->form_validation->set_rules('username', 'Username', 'trim|required|min_length[3]|max_length[16]|xss_clean|callback_username_check');
$this->form_validation->set_rules('password', 'Password', 'trim|required|matches[passconf]|md5');
$this->form_validation->set_rules('passconf', 'Password Confirmation', 'trim|required');
$this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email');
if ($this->form_validation->run() == FALSE)
{
$this->load->view('register_form');
}
else
{
$this->load->view('register_success');
$data = array(
'IDUser' => NULL ,
'Username' => "$username" ,
'Password' => 'password' ,
'Email' => 'email' ,
'Gender' => 'gender' ,
'Birthday' => 'bday' ,
);
$this->db->insert('Accounts', $data);
}
}
まず、機能する SQL 挿入を実行します。その後、検証。それにもかかわらず、データベースからロードされた値は検証からのものではありません。代わりに、それらは配列内の同じプレーン テキストです。
POST を使用してフォーム/ビューから値を直接取得したくありません。それは無意味です。私は何をしますか?私は Codeigniter を初めて使用し、OOP PHP にはあまり詳しくありません。