[英]Load a page plus changing the URL
我注意到,当使用$this->load->view('page.php)'
,浏览器中的URL不会更改,即。 如果我们来自../step_1.php
并加载到../step_2.php
,则网址仍将是../step_1.php
。
我正在制作一个多步骤表单,其中所有步骤都由一个控制器处理,并且我了解到处理此类情况的最佳方法是使用load
。 问题是我不希望显示过去页面的URL,而希望显示新页面的URL。 我知道redirect('page_controller')
可以做到这一点,但这是不切实际的(在控制器内重定向)。
有谁知道为什么会这样?
编辑:
我找到了关于CI视图的解释,并从此链接重定向。
views->在前一页的URL中显示一个页面
重定向->以其自己的URL显示页面
function step_1()
{
load_page($step_1);
}
与其从视图中调用load_page,不如上面那样在控制器中构建页面,然后调用适当的页面。 CI使用控制器方法作为URL。 据我所知,没有办法改变这种行为。
class test{
{
public function view()
{
switch($this->uri->segment(2))
{
case $this->uri->segment(2) == 'part1':
$this->load->view('part1');
break;
case $this->uri->segment(2) == 'part2':
$this->load->view('part2');
break;
}
}
}
要么
class test{
{
public function view($page)
{
switch($page)
{
case $page == 'part1':
$this->load->view('part1');
break;
case $page == 'part2':
$this->load->view('part2');
break;
}
}
}
test/view/part1
will go to view part1
test/view/part2
will go to view part2
你可以尝试这样的事情, 这是未经测试的告诉我是否有错误
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.