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

How to display message in PHP using certain string in the URL?

我有 WHMCS 设置,我正在尝试制作一个消息气泡,当有人使用特定 link 访问它时会显示该消息气泡。

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

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

他们会收到一条消息。

我已经设置了消息,它显示在默认 link 上。但是不知道怎么设置才2号link?我正在使用 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}

如果 $GET 参数存在,在消息 div 中添加一个 class 使其出现:

PHP/HTML

<?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> 

CSS

.alert.alert-danger{
    display: none;
}
.alert.alert-danger.show{
    display: block;
}

如果您编辑模板,则很难使您的 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;
});