duanjiong5686 2017-05-30 08:29
浏览 69
已采纳

如何在Codeigniter中加载视图或在多个环境中使用redirect()?

Want to check Environment and if matches some case then want to redirect or load some view. get_instance(); not working inside index.php where environment check
what i'm looking something like below:

if (ENVIRONMENT === "production")
{

    /*if(error ="db error")
    redirect("/someview","refresh");
    or load view header and footer
    */

}
  • 写回答

1条回答 默认 最新

  • dqajyxqem115006813 2017-05-30 14:26
    关注

    i just confused about error handling mechanism in CI. By the help of stackoverflow users i found steps to turn off the errors . but now i can't handle those errors.

    If you want to handle a certain error, You can redirect it to a certain view in the process as what you have mentioned in your question.

     // Assuming you have a [Home] Controller that extends to your [Common] parent class
     class Home extends Common {
        public function index()
        {
            $this->load->helper('url');
            $bCheck = false;
            if ($bCheck !== true) {
                $this->handleRedirectMethod('path/to/your/controller');
            }
        }
    }
    

    Then on your parent [Common] controller. (e.g Common.php)

    class Common extends CI_Controller
    {
        public function handleRedirectMethod($sUrl, $sMethodName = 'refresh', $sStatusCode = '302')
        {
            $sServerName = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'];
            redirect($sServerName . '/' . $sUrl, $sMethodName, $sStatusCode);
        }
    }
    

    Hope this makes you understand how you can handle those errors

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?