首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP/codeigniter -使用exit()

PHP/codeigniter -使用exit()
EN

Stack Overflow用户
提问于 2010-04-12 06:46:53
回答 8查看 20.4K关注 0票数 20

我有几个页面需要登录,所以链接到这些页面的所有控制器都以

代码语言:javascript
复制
$this->checkSession();
//...rest of the code

CheckSession应验证会话是否仍处于活动状态,否则将显示一条消息并停止控制器中其余代码的执行:

代码语言:javascript
复制
function checkSession()
{
    if (!$this->session->userdata('is_logged_in'))
    {
        //the session has expired!
        $data['main'] = 'confirmation_message';
        $data['title'] = "Session expired";
        $this->load->vars($data);
        $this->load->view('template');
        exit();
    }
}

。我希望这些指令按顺序执行,但我只得到了一张空白页。如何确保只有在加载完所有视图后才执行exit()?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-04-12 15:53:47

在这种情况下,你不应该使用exit,如果会话无效,你应该使用example重定向你的应用:

代码语言:javascript
复制
redirect('/init/login/','refresh');
票数 14
EN

Stack Overflow用户

发布于 2010-04-12 17:28:47

在这种情况下,Pedro是正确的。如果它们没有登录,只需重定向它们,如果您可以使用Public/Admin named base controllers来避免在每个单独的受保护文件中执行此操作,那就更好了。

一般来说,如果您使用exit(),它将停止输出库的运行。如果您只想停止当前控制器的执行,但允许控制器的输出,则可以以完全相同的方式使用return。

代码语言:javascript
复制
function checkSession()
{
    return (bool) $this->session->userdata('is_logged_in');
}

然后简单地说:

代码语言:javascript
复制
if(!$this->checkSession())
{
        //the session has expired!
        $data['main'] = 'confirmation_message';
        $data['title'] = "Session expired";
        $this->load->vars($data);
        $this->load->view('template');
        return;
}

只有当你真的想要立即终止应用程序的执行以进行调试、错误报告等时,才应该使用exit()。

票数 15
EN

Stack Overflow用户

发布于 2013-02-03 02:26:06

我也遇到过类似的问题。由于没有登录,我想要阻止用户的位置。但我想为他们提供一个链接列表,而不是简单地将他们重定向到登录页面。我使用的是CI版本1.7.2,$this->_output() $this->display->_output()和$this->output->display()解决方案对我不起作用。但是,我将使用$this->output-> get _output()函数获得结果。

代码语言:javascript
复制
        $this->load->vars($data);
        $this->load->view('template');
        die($this->output->get_output());
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2618993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档