0
学生の入学ステータスに関するエラーメッセージは、旧生徒、新入生、譲受人のいずれかに問題があります。生徒のステータスを入力したり追加したりすると、それは1対1の関係であるため重複して入力するとエラーになるので、フォームの検証などのメッセージを設定する必要がありますが、重複した入力にはエラーが発生します。ここcodeigniterを使用して既に入力したデータを追加する際の警告メッセージ
は私のコントローラです:
function enrollstudent(){
if($this->session->userdata('logged_in'))
{
$this->output->set_header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
$this->output->set_header('Cache-Control: no-cache, no-store, must-revalidate, max-age=0');
$this->output->set_header('Cache-Control: post-check=0, pre-check=0', FALSE);
$this->output->set_header('Pragma: no-cache');
$session_data = $this->session->userdata('logged_in');
$data['Username'] = $session_data['Username'];
$this->load->view('StudentEnroll', $data);
} else{
redirect('welcome', 'refresh');
}
if((!isset($session_data) || $session_data !=TRUE)) {
redirect('welcome', 'refresh');
}
}
function addstatusofenroll($id){
$this->form_validation->set_rules('status', 'Status', 'callback_status_check');
if($this->form_validation->run() == FALSE)
{
$this->enrollstudent();}
else{
$data= array(
'Id'=> $id ,
'Statusofenrollment' => $this->input->post('status')
);
$this->db->insert('statusofenrollment',$data);
$this->session->set_flashdata('category_success', 'Successfully Add!');
$this->load->view('StudentEnroll');
}
}
public function callback_status_check($roll)
{
$this->db->where('Id', $roll);
$query = $this->db->get('statusofenrollment');
$count_row = $query->num_rows();
if ($count_row > 0)
{
echo 'Data Already exist';
$this->session->set_flashdata('warning', 'Data already exists');
return FALSE;
}
else
{
return TRUE;
}
}
あなたのコールバックメソッドは 'status_check'でなければなりません。 [docs](https://codeigniter.com/userguide3/libraries/form_validation.html#callbacks-your-own-validation-methods)を確認してください。 – Tpojka
まだ同じですが、重複申し訳ありません。 –
なぜそれが真を返すのでしょうか? –