codeigniter поставляется с Классом проверки формы , документацию можно найти здесь .
Его назначение в точности соответствует его названию - оно поможет вам проверить правильность ввода формы. Как только вы к этому привыкнете, это очень удобно.
Вот так может выглядеть ваш контроллер:
public function change_password() {
if ($this->input->post()) {
// user submitted the form
if (some_encryption_function($this->input->post('current_password'))==password_from_db) { // pseudo code
$this->load->library('form_validation'); // this should probably belong somewhere else like in the constructor of the controller
$this->form_validation->set_rules('new_password', 'New Password', 'trim|required|min_length[4]|max_length[12]|matches[confirm_password]');
$this->form_validation->set_rules('confirm_password', 'Confirm Password', 'trim|required|min_length[4]|max_length[12]');
if ($this->form_validation->run() == false) {
data['message'] = validation_errors();
} else {
store_new_password_to_db($this->input->post('new_password');
data['message'] = "Some success message";
}
$this->load->view('your_change_password_view',$data);
}
}
}
Это не идеальный пример для класса проверки формы. Просто потому, что вы можете легко проверить эти 3 поля без его помощи. Но так как он уже встроен в codeigniter, почему бы не использовать его?