繁体   English   中英

忽略codeigniter中的frontpage.php

[英]ignoring frontpage.php in codeigniter

我目前正在使用codeigniter创建的现有网站。 每当用户进入页面时,他都会被重定向到frontpage.php,该页面检查用户是否已登录,如果不是,则将其重定向到登录页面。 现在,我有一页不应该执行此frontpage.php的页面,任何用户都可以输入它。

任何帮助是极大的赞赏。

遇到类似的问题,并通过使用一些在线教程以这种方式解决了

1:在“ frontpage.php”之前创建一个单独的登录页面(例如login.php)。

2:将登录名,密码和会话变量传递到首页。

3:重新编码“ frontpage.php”,以检查“ login.php”传递的会话变量。

如果您通过常规方式进入页面,它将使用常规登录名。 如果您通过新的“ login.php”页面进入页面,它将被重新编码的“ frontpage.php”获取,并绕过正常方式。

希望这可以帮助

格茨

制作新的控制器

class Newpage extends CI_Controller {

  public function index(){
    $this->load->view('newpage');
  }
}

现在转到

yourhost.com/index.php/newpage

可能是您的默认Controller具有检查用户是否已登录的代码。 请删除或更改控制器中的代码。

我认为您需要删除控制器,它的工作原理是这样的!

将所有内容重新路由到页面控制器,并将其用作默认值

$route['default_controller'] = 'pages';

$route['(.*)'] = 'pages/index/$1';

--

class Pages extends CI_Controller
{
    protected $currentUser = null;

    public function __construct()
    {
        parent::__construct();
        $this->currentUser = Auth::getCurrentUserObject(); //check user is logged in
    }

    public function index($uri='home')
    {

        $sizeOfSegments = sizeof($this->uri->rsegments);

        if ($sizeOfSegments >= 3)
        {       
            $uri = $this->uri->rsegments[3];
        } 
        else
        {
            $uri = 'home';
        }

        $pageFound = Page::find($uri); //query the database

        if (!$pageFound)
        {
            return show_404($uri); // find out where there were headed 
        }

        unset($sizeOfSegments, $uri);

        if(is_null($this->currentUser) OR !$this->currentUserHasPermissionToViewThisPage OR !$pageIsNotPublic)
        {
            return redirect('login');
        }

        $this->load->view();

    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM