Php 页面刷新(F5)总是导致表单提交
对CI来说有点陌生,谷歌搜索了很多信息,但仍然没有得到答案Php 页面刷新(F5)总是导致表单提交,php,codeigniter,Php,Codeigniter,对CI来说有点陌生,谷歌搜索了很多信息,但仍然没有得到答案 用户进入网站 成功验证后,被重定向到主页 url上的链接与类/方法保持相同 如果你在主页上刷新页面,你总是会遇到关于重新填充表单的问题(chrome/firefox 100%) 解决方案可能是:成功后重定向到另一个类或方法 但我不知道怎么做,文档对我来说更像是参考资料 代码如下:第28行-如何重定向到另一个类或方法,同时重定向到另一个视图?CodeIgniter中的一个示例可能是: class login extends CI_Cont
代码如下:第28行-如何重定向到另一个类或方法,同时重定向到另一个视图?CodeIgniter中的一个示例可能是:
class login extends CI_Controller
{
function index ()
{
$this->load->library('form_validation');
$this->load->helper('url');
//Set form validation rules here: http://codeigniter.com/user_guide/libraries/form_validation.html
if ($this->form_validation->run() == TRUE)
{
//login user here
redirect('login/sucLogin'); // or just redirect to '/' if you want to send them to your home page
}
else
$this->load->view('loginForm'); //make form
}
function sucLogin ()
{
echo 'Successfully logged in';
echo anchor('/', 'Go Home');
}
}
可能重复的(参考)(相关)在CI论坛的第二个链接上,有一个带有可选成功页面的解决方案,但是如果我不想有一个成功页面?如何在没有额外页面的情况下解决这个问题?只需重定向到成功登录后希望用户重定向的任何位置。不确定为什么我的代码没有正确突出显示…这是在pastebin上:Donow why,但这是don't Not正在工作!如果我将$this->load->view('main')直接加载到if-中,它正在工作,但重定向不起作用!使用重定向时,只有空白页,这可能是因为
redirect()
是URL帮助程序中的一个方法,所以在使用该方法之前,您需要加载($this->load->helper('URL')
);只是不起作用,只是直接加载视图;/with redirect只有空白页您是否编写了表单验证规则?不,现在输入只对db起作用,它真的起作用了,告诉您-如果我这样做$this->load->view('main'));如果我的授权正确,我将进入主页,但我在刷新/重新填充时遇到问题,不知何故重定向对我来说不起作用,我想用CI方式来做。当然,我上面发布的方式是最正确的CI方式,使用表单验证库和url帮助器。我建议,在您学习之后,验证库非常棒d你看看他们如何使用它的例子,这对你将来会有很大帮助。
$q = $this->db
->where('login', $login)
->where('password', $password)
->limit(1)
->get('userbase');
if ($q->num_rows > 0 )
{
redirect('enter/main');
}
}
$returnlogin['login'] = $login;
$this->load->helpers('form');
$this->load->view('login_form',$returnlogin);