我在CodeIgniter网站上有一个带有文件输入的表单。当我填写表单并单击提交按钮时,它工作正常。但是,当我刷新浏览器时,会再次上载相同的表单数据。我该如何防止这种情况?
输入表格
<form name="image_upload" action="<?= base_url() ?>admin/image_move_upload" method="post" accept-charset="utf-8" enctype="multipart/form-data">
<ul>
<li class="ui-field"><label for="filename">File Name :</label></li>
<li class="ui-input"><input type="text" name="filename" placeholder=""></li>
<li class="ui-field"><label for="file">Image( *only .jpg) :</label></li>
<li class="ui-input"><input type="file" name="imagefile" value="" placeholder="" required=""></li>
<li><input type="submit" name="Upload" class="ui-submit"></li>
</ul>
</form>
控制器部分
function image_move_upload() {
$data['errors'] = NULL;
$data['success'] = NULL;
if (isset( $_POST['Upload'] )) {
$config_arr = array(
'upload_path' => './uploads/slider/',
'allowed_types' => 'jpg',
'max_size' => '2048',
'max_width' => '1024',
'max_height' => '768',
'encrypt_name' => true,
'file_name' => 'sanji.jpg',
);
$this->load->library('upload', $config_arr);
if (!$this->upload->do_upload('imagefile')) {
$data['errors'] = $this->upload->display_errors(); // this isn't working
} else {
$data['qs'] = $this->upload->data();
$data['success'] = "File Uploaded Successfully";
}
}
$data['main_content'] = 'admin/upload';
$this->load->view('admin_layout', $data);
}
答案 0 :(得分:2)
使用发布/重定向/获取模式。 http://en.wikipedia.org/wiki/Post/Redirect/Get
答案 1 :(得分:1)
通过刷新重定向到同一个控制器。使用以下代码。
redirect('admin/image_move_upload', 'refresh');
答案 2 :(得分:0)
使用重定向函数而不是调用同一类的函数。
所以,使用redirect('admin/image_move_upload', 'refresh');