我在Codeigniter中有一个控制器,如下所示:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Charity extends MY_Controller {
public function index()
{
if($this->input->method() === 'post'){
$data['name'] = $this->input->post('name');
$this->load->view('review_page', $data);
}else{
$this->load->view('charity');
}
}
}
观点是:
charity.php
<form method="post" action="/">
<input name="name" type="text"/>
<input value="send" type="submit"/>
</form>
review_page.php
<h1><?= echo $name; ?></h1>
当我提交表单时,我会加载review_page视图但是如果我点击浏览器的后退按钮,我会回到表单。是否有原因使表单页面在提交后过期,以便后退按钮不显示?
由于
答案 0 :(得分:1)
后退按钮不起作用,因为您实际上从未实际重定向到其他网址。您需要构建代码以便重定向。 我会构建另一种加载评论页面的方法
public function index() {
$this->load->view('charity');
}
public function reviews(){
if($this->input->method() === 'post'){
$data['name'] = $this->input->post('name');
$this->load->view('review_page', $data);
} else {
redirect('charity');
}
}
和你的HTML
<form method="post" action="reviews">
答案 1 :(得分:0)
也许这会有所帮助:
在charity.php的顶部添加以下代码:
<?php
session_start();
if ( isset($_SESSION['isSubmit']) and $_SESSION['isSubmit'] == 'ok' )
{
echo 'page is expired: form already submit !';
session_destroy();
}
?>
在review_page.php的顶部添加以下代码:
<?php
session_start();
$_SESSION['isSubmit'] = 'ok' ;
?>