我正在尝试检查用户是否已登录并显示 whmcs 文件夹外部的名字。我正在使用提要。我在 feeds 文件夹中创建了 checkifloggedin.php。
<?php
require("../init.php");
if (isset($_SESSION['uid'])) {
/*i can get the the id of the user but i cannot display the first
name of the logged in user. tried several methods but i cannot
make it work.*/
widgetoutput();
}
else {
widgetoutput('logged out');
}
function widgetoutput($value) {
echo "document.write('".addslashes($value)."');";
exit;
}
?>
非常感谢你们的任何帮助。
非常感谢。
最佳答案
我最近想做同样的事情,发现自从以前对这个问题和类似问题的答复以来,很多文件名/路径都发生了变化。关于我的配置的一句话 - 我在 public_html/whmcs 中设置了 WHMCS 用于所有实际目的。我的索引页和其他一些(关于、术语等)在 public_html (docroot) 中。
我做的第一件事是在 public_html 中创建一个名为 loggedin.php 的文件,其中包含以下代码:
<?php
$li = 0;
// Define WHMCS namespaces
use WHMCS\ClientArea;
use WHMCS\Database\Capsule;
// Initialize WHMCS client area
define('CLIENTAREA', true);
require __DIR__ . '/whmcs/init.php';
$ca = new ClientArea();
if ($ca->isLoggedIn()) { //logged in
$clientName = Capsule::table('tblclients')->where('id', '=', $ca->getUserID())->pluck('firstname');
$ca->assign('clientname', $clientName);
$li = $clientName[0];
}
else { //not logged in
$ca->assign('clientname', 'Random User');
}
?>
然后,我将它包含在我的索引文件中:
<?php include("loggedin.php"); ?>
然后当有人访问主页时,如果他们登录了 var $li = 登录用户的名字,而如果 $li = 0 他们没有登录。我用它来动态渲染主页面像这样的菜单:
<?php if ($li == "0") : ?>
<li><a href="#" role="button" data-toggle="modal" data-target="#Login">Login</a></li>
<li><a href="whmcs/register.php" role="button" class="btn btn-success">Sign Up</a></li>
<?php else : ?>
<li><a href="whmcs/clientarea.php">Hello, <?php echo $li; ?></a></li>
<?php endif; ?>
希望能帮助任何正在寻找问题新答案的人!
关于php - 创建 whmcs 6 feed 以检查客户端是否已登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34992130/