사용자가 데이터를 채우고 제출해야하는 codeigniter에서 양식을 만들고 있지만 양식 제출 후 오류가 발생하면 사용자가 양식으로 다시 리디렉션되지만이 단계에서 입력 한 값은 형태.
flashdata 오류가 발생하지만 값이 양식에 유지되지 않습니다. 나는 set_value를 사용하려고 시도했지만 그 대가로 빈 양식을 얻었습니다. 누구든지 오류를 지적 해 주시겠습니까?
전망
<?php echo form_open_multipart('student/data/'.$student->id); ?>
<p><?php echo $this->session->flashdata('req_msg'); ?></p>
<?php
$data = array(
'type' => 'text',
'name' => 'name',
'placeholder' => 'Full Name',
'class' => 'form-control',
'id' => 'form-first-name',
'value' => set_value('name')
);
?>
<?php echo form_input($data); ?>
<?php
$data = array(
'type'=>'tel',
'pattern'=>'^\d{10}$',
'name' => 'contactno',
'placeholder' => 'Enter 10 digit Contact No',
'class' => ' form-control',
'required' => 'required',
'id' => 'form-first-name',
'value' => set_value('contactno')
);
?>
<?php echo form_input($data); ?>
<div class="form-group">
<?php
$data = array(
'type' => 'submit',
'class' => 'btn btn-primary',
'name' => 'submit',
'content' => 'Upload',
'id' => 'btn-submit'
);
echo form_button($data);
?>
</div>
<?php echo form_close(); ?>
제어 장치
$this->form_validation->set_rules('contactno', 'Contact Number', 'trim|is_unique[student.contactno]');
if ($this->form_validation->run() == FALSE)
{
$this->session->set_flashdata('req_msg', 'Contact number already exists');
redirect('student/data/'.$studentid);
}
보기 파일의 코드는 절대적으로 정확합니다. 컨트롤러의 방법을 약간만 수정하면됩니다.
코드에서 솔루션을 구현하기 전에 알아야 할 몇 가지 핵심 사항이 있습니다.
다음은 조치의 예입니다.
public function add()
{
$this->form_validation->set_rules('contactno', 'Contact Number', 'trim|is_unique[student.contactno]');
if ($this->form_validation->run() !== FALSE) {
// Your database or model function calling will be coded here and make sure it returns boolean value
if ($isTrue) {
$this->session->set_flashdata('req_msg', 'Congrats! You have successfully submitted data');
redirect('student/data/'.$studentid);
}else{
// Handle error logs here
}
}
$this->load->view('your_view', $this->view_data);
}
이것이 완벽한 솔루션입니다. 유효성 검사 규칙이 실패 할 경우 양식 필드에 설정된 모든 값을 얻을 수 있습니다.
문제가 있으면 알려주세요.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다