当我点击后退按钮时,我收到了确认表单提交错误。如何防止此问题?请为此提供解决方案。 我正在尝试登录admi面板并在以下代码中使用admin进行编辑
Admin controller:
public function index()
{
$data = $this->data;
$this->load->view('admin/login.php',$data);
}
public function login()
{
$data = $this->data;
$username=$this->input->post("username");
$password=$this->input->post("password");
if($username=='admin'&&$password=='admin123')
{
$this->load->view('admin/home.php',$data);
}
else
{
$data['error']="Invalid Username or Password";
$this->load->view('admin/login.php',$data);
}
}
/* Function For Displaying the home page*/
public function home()
{
$data = $this->data;
$this->load->view('admin/index.php',$data);
}
/* Common Function for calling the View*/
public function _admin_output($output = null)
{
$output->base=$this->config->item('base_url');
$output->site=$this->config->item('site_url');
$output->css=$this->config->item('css');
$output->js=$this->config->item('js');
$this->load->view('admin/home_page.php',$output,'refresh');
}
public function loadSlidingimg()
{
$crud = new grocery_CRUD();
$crud->set_table('tbl_slideimg');
$crud->columns('imgname','active');
$crud->set_subject('Frontpage Sliding Images');
$crud->display_as('imgname','Image name');
$crud->set_field_upload('imgname','uploads');
$crud->display_as('active','Active Flag');
$crud->callback_after_update(array($this,'rename_slideimg_db'));
$crud->callback_after_insert(array($this,'rename_slideimg_db'));
$output = $crud->render();
$this->_admin_output($output);
}
}
请为此问题提供解决方案
答案 0 :(得分:0)
这是因为将您带到该页面的操作是POST请求。浏览器希望能够避免无意中的双重订购/支付/随时随地退回"当加载该页面时需要再次发布表单。
如何解决这个问题?我通常会将用户重定向到由GET请求加载的页面,它甚至可以是同一页面,请参阅以下答案:https://stackoverflow.com/a/3968038/357403
或者,您可以修改历史记录:https://developer.mozilla.org/en-US/docs/Web/API/History_API
另外,请参阅PRG模式:https://en.wikipedia.org/wiki/Post/Redirect/Get
答案 1 :(得分:0)
尝试以下代码格式:
$this->load->view('admin/home.php', 'refresh', $data);
或
redirect('home', 'refresh');