PHP Fatal Error: Using $this when not in object context... Used for redirect()
PHP Fatal Error: Using $this when not in object context... Used for redirect()
我是 PHP 的新手。我一直在尝试使此授权码起作用,但出现此错误:
Call to undefined function redirect()
代码:
$Auth = Auth::getAuth();
if($Auth->loggedIn())
{
redirect(getCoreSitePath().'/account.'.SITE_CONFIG_PAGE_EXTENSION);
}
if(isset($_REQUEST['error_description']))
{
$error = $_REQUEST['error_description'];
}
redirect(getCoreSitePath()."/login.".SITE_CONFIG_PAGE_EXTENSION."?social_login_error=".urlencode($error));
根据一些谷歌搜索,我发现我可能需要添加 $this->load->helper('url');
修改后的代码:
$Auth = Auth::getAuth();
$this->load->helper('url');
if($Auth->loggedIn())
{
redirect(getCoreSitePath().'/account_home.'.SITE_CONFIG_PAGE_EXTENSION);
}
if(isset($_REQUEST['error_description']))
{
$error = $_REQUEST['error_description'];
}
redirect(getCoreSitePath()."/login.".SITE_CONFIG_PAGE_EXTENSION."?plugin_social_login_error=".urlencode($error));
但现在我得到这个错误:
Using $this when not in object context
我尝试了建议 here 但无法正常工作。
redirect()
不是 built-in 函数,您是否在某处定义了它?如果没有,您可以简单地定义一个而无需更改代码
function redirect($url)
{
header("Location: $url");
die();
}
请注意,这个函数并不是真正需要的,你可以简单地用这个函数发出的 header 调用来改变你的 redirect()
调用,但我只是添加了它,因为你有很多调用 redirect()
并且需要更改大量代码才能做到这一点。你可以在任何 class 之外定义这个函数,然后你可以在没有 $this->
的情况下使用它
我是 PHP 的新手。我一直在尝试使此授权码起作用,但出现此错误:
Call to undefined function redirect()
代码:
$Auth = Auth::getAuth();
if($Auth->loggedIn())
{
redirect(getCoreSitePath().'/account.'.SITE_CONFIG_PAGE_EXTENSION);
}
if(isset($_REQUEST['error_description']))
{
$error = $_REQUEST['error_description'];
}
redirect(getCoreSitePath()."/login.".SITE_CONFIG_PAGE_EXTENSION."?social_login_error=".urlencode($error));
根据一些谷歌搜索,我发现我可能需要添加 $this->load->helper('url');
修改后的代码:
$Auth = Auth::getAuth();
$this->load->helper('url');
if($Auth->loggedIn())
{
redirect(getCoreSitePath().'/account_home.'.SITE_CONFIG_PAGE_EXTENSION);
}
if(isset($_REQUEST['error_description']))
{
$error = $_REQUEST['error_description'];
}
redirect(getCoreSitePath()."/login.".SITE_CONFIG_PAGE_EXTENSION."?plugin_social_login_error=".urlencode($error));
但现在我得到这个错误:
Using $this when not in object context
我尝试了建议 here 但无法正常工作。
redirect()
不是 built-in 函数,您是否在某处定义了它?如果没有,您可以简单地定义一个而无需更改代码
function redirect($url)
{
header("Location: $url");
die();
}
请注意,这个函数并不是真正需要的,你可以简单地用这个函数发出的 header 调用来改变你的 redirect()
调用,但我只是添加了它,因为你有很多调用 redirect()
并且需要更改大量代码才能做到这一点。你可以在任何 class 之外定义这个函数,然后你可以在没有 $this->