我希望我的问题没有错(对你来说不容易)。到了这一步......
我有验证表格(检查数据库MySQL)。像这样
的控制器
$ck['no_ktp'] = $this->input->post('no_ktp');
$cek = $this->app_model->getSelectedData("biodata_karyawan",$ck);
if($cek->num_rows()>0)
{
$this->session->set_flashdata('flash_messages', 'ERROR : No KTP sudah ada di data karyawan..!!!');
redirect( base_url() . 'karyawan/tambah/' . $site );
}
else
{
此代码适用于显示的消息' ERROR:No KTP sudah ada di data karyawan .. !!!'但表格输入将被重置。所以我必须再次输入这个表格。
问题
如何仍然显示消息但字段未重置?
感谢您的时间
答案 0 :(得分:0)
也许最好的解决方案是加载包含表单的视图并传递所有post数组以重新加载输入。
$ck['no_ktp'] = $this->input->post('no_ktp');
$cek = $this->app_model->getSelectedData("biodata_karyawan",$ck);
if($cek->num_rows()>0)
{
$this->session->set_flashdata('flash_messages', 'ERROR : No KTP sudah ada di data karyawan..!!!');
//redirect( base_url() . 'karyawan/tambah/' . $site );
$data['form_contents'] = $this->input->post();
$this->load->view('form_view', $data);
}
else
{
然后,再次在表单视图中,加载输入调用:
<input type="text" name="whatever" value="<?php echo $form_contents['whatever'];?>" />
希望这有帮助。
编辑1:我在视图和控制器中命名$ form_contents失败。以前是错的,现在还可以。
答案 1 :(得分:0)
$ck['no_ktp'] = $this->input->post('no_ktp');
$cek = $this->app_model->getSelectedData("biodata_karyawan",$ck);
if($cek->num_rows()>0)
{
$this->session->set_flashdata('flash_messages', 'ERROR : No KTP sudah ada di data karyawan..!!!');
redirect( base_url() . 'karyawan/tambah/' . $site );
exit;
}
else
{
答案 2 :(得分:0)
这是因为重定向。基本上,它重新加载页面。您可以做的是,在验证表单之后,将输入的值放在会话变量中。如果表单已正确验证且没有出现错误,则取消设置会话变量,否则,重定向并在视图页面上,默认情况下,在每个输入中放置您在会话var中的内容。有点像这样:
echo '<input type="text" name="some_name" value="'.(isset($_SESSION['some_name']) ? $_SESSION['some_name'] : '').'" />
希望它有所帮助!
继续编码
顷。