Reputation: 1381
I want that in case a form is not submitted properly then the values that had been entered by the user should not get lost. The form is built in codeigniter
View
<?php echo form_open_multipart('user/add_data'); ?>
<?php
$data = array(
'type'=>'text',
'name'=>'name',
'class'=>'form-control',
'required' => 'required',
'value' => set_value('name')
);
?>
<?php echo form_input($data); ?>
<?php
$data = array(
'type'=>'file',
'name'=>'userfile',
'class'=>'fileinput btn-info',
'id'=>'filename3',
'data-filename-placement'=>'inside',
'style' => 'margin-left: 330px',
'title'=>'If any document upload here (* XLS | DOC | PDF | DOCX | XLSX )'
);
echo form_upload($data);
?>
<?php
$data = array(
'type'=>'submit',
'class'=>'btn btn-primary pull-right',
'name'=>'submit',
'content'=>'Submit'
);
echo form_button($data);
?>
<?php echo form_close(); ?>
Controller
public function add_requirement_data() {
$config['upload_path'] = './request/';
$config['allowed_types'] = 'xls|xlsx|doc|docx|pdf';
$config['max_size'] = 9000000;
$config['max_width'] = 1024;
$config['max_height'] = 768;
$config['encrypt_name'] = TRUE;
$this->load->library('upload', $config);
if (!$this->upload->do_upload('userfile'))
{
$data = array('upload_data' => $this->upload->data());
if ($data['upload_data']['file_size'] == '0')
{
$this->session->set_flashdata('req_msg', 'Cannot Upload Empty File');
redirect('user/requirement');
}
else
{
if ($this->um->create_requirement_nofile($instanthire_main_id))
{
$this->session->set_flashdata('req_msg', 'Requirment raised successfully');
redirect('user/requirement');
}
}
}
}
Can anyone please tell how to retain values in codeigniter form
Upvotes: 1
Views: 41
Reputation: 849
By using sessions
Let us consider your name input tag
In your view
<?php
$data = array(
'type'=>'text',
'name'=>'name',
'class'=>'form-control',
'required' => 'required',
'value' => $this->session->userdata('name')
);
?>
And in your controller,
$this->session->set_userdata('name',$this->input->post('name'));
if ($data['upload_data']['file_size'] == '0')
{
$this->session->set_flashdata('req_msg', 'Cannot Upload Empty File');
redirect('user/requirement');
}
else
{
if ($this->um->create_requirement_nofile($instanthire_main_id))
{
$this->session->unset_userdata('name');
$this->session->set_flashdata('req_msg', 'Requirment raised successfully');
redirect('user/requirement');
}
}
Upvotes: 1