如何使用URL中的某些字符串在PHP中显示消息?

时间:2019-07-06 05:31:05

标签: php whmcs

我已经设置了WHMCS,并且正在尝试创建一个消息提示框,当有人通过特定链接访问它时会显示该提示框。

就像某人访问此链接一样,他们将看到正常页面-https://example.com/billing/clientarea.php?action=details

但是如果有人访问https://example.com/billing/clientarea.php?action=details&status=incomplete

他们会收到一条消息。

我已经设置了该消息,并且该消息显示在默认链接上。但是我不知道如何仅在第二个链接上进行设置?我正在使用WHMCS。

有人可以引导我吗?

消息提示框的代码。

<div class="alert alert-danger">
<strong>The following errors occurred:</strong>
<ul>
<li>Please enter your address and click on save to proceed. Once Saved, then only you will be able to access the client area.</li>
</ul>
</div>

编辑:已添加解决方案

非常感谢@symlink的帮助,您的方法可在PHP上运行,但是对于WHMCS / smarty php,它需要其他代码,这也是一个非常简单的代码,大声笑。

{if $smarty.get.status eq incomplete} 
{include file="$template/includes/alert.tpl" type="info" msg="Please fill the form to continue with our services."}
{else} 
{/if}

2 个答案:

答案 0 :(得分:0)

如果<input spellcheck="false" placeholder="New Task" id="newtask"> 参数存在,则将一个类添加到消息div中以使其显示:

PHP / HTML

$GET

CSS

<?php
    $class = "";
    if(isset($GET["status"]) && $GET["status"] === "incomplete"){
        $class = "show";
    }
?>

<div class="alert alert-danger <?php echo $class ?>"> 
    <strong>The following errors occurred:</strong> 
    <ul> 
        <li>Please enter your address and click on save to proceed. Once Saved, 
        then only you will be able to access the client area.</li> 
    </ul> 
</div> 

答案 1 :(得分:0)

如果编辑模板,则使WHMCS保持最新状态变得更加困难。我建议使用钩子输出一些JS,以将适当的警报注入您的页面。

也许是ClientAreaFooterOutput挂钩点? https://developers.whmcs.com/hooks-reference/output/#clientareafooteroutput

类似的东西:

<?php

add_hook('ClientAreaFooterOutput', 1, function($vars) {
    $status = App::getFromRequest('status'); //This is handy and sanitised 
    return <<<HTML
jQuery(document).on('ready', function() {
    if ('{$status}' == 'incomplete') {
        //Add your code here to output the alert where you wish
    }
});
HTML;
});