使用外部php脚本登录Joomla网站


Logging into Joomla site using an external php script

我正试图让用户从外部网站登录到Joomla网站,然后重定向到一个只有注册用户才能查看的页面。我使用了这个脚本,它似乎起到了一定的作用。我可以看到用户通过Joomla管理面板登录,然而,当我在脚本的末尾输入重定向时,即

header('Location: registered page url');

Joomla会提示我登录以查看注册页面。我做错了什么?最初的帖子从未讨论过如何重定向用户。此外,当我没有在代码中放入重定向时,浏览器只会转到一个空白的白色页面。这正常吗?它不应该进入卷曲网站的主页吗?

还要注意,我已经尝试在代码中添加一个返回url:

$loginRedirectUrl = 'index.php?option=com_content&view=article&id=146&Itemid=178';
$loginRedirectUrl = base64_encode($loginRedirectUrl);  
$postfields['return'] = $loginRedirectUrl;

当我打印($postfields)时,它会返回所有已填充的内容。包括编码的返回url和令牌。所以,我很困惑为什么看起来我已经登录了,但浏览器仍然没有保存cookie或类似的东西。

Cookie未被禁用。

如有任何帮助,我们将不胜感激。提前谢谢。

让我们看看是否可以一步一步地解决这个问题。另一篇文章中的代码只是处理登录的内容。如果你在未经编辑的情况下运行它,那么当它运行时,你只会得到一个空白页面,所以这是正常的。

接下来,如果包括令牌在内的所有内容都显示在$postfields中,那么我要检查的下一件事是查看Joomla管理员是否显示了登录会话。如果是这样,那么问题就出在cookie被传输到浏览器上。如果不是,则表明会话已创建,但由于某种原因登录失败。