如何使用URL中的某些字符串在PHP中显示消息?
I have WHMCS setup, and i am trying to make a message bubble that would show when someone access it with the specific link.
Like when someone access this link, they will see normal page - https://example.com/billing/clientarea.php?action=details
But if someone access https://example.com/billing/clientarea.php?action=details&status=incomplete
They will get a message.
I have already setup the message, and it is showing on the default link. But i do not know how to set it up on the 2nd link only? I am using WHMCS.
Can anyone guide me?
Code for message bubble.
<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>
EDIT: Solution Added
thanks a ton for your help @symlink, your method works on PHP, but for WHMCS/smarty php, it needs other code, a very simple code that too, lol.
{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}
我有WHMCS设置,我正在尝试制作一个消息泡泡,当有人通过特定的方式访问它时 链接。 p>
当有人访问此链接时,他们会看到正常的页面 - https://example.com/billing/clientarea.php?action=details p>
If the $GET
param exists, add a class to the message div that makes it appear:
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;
}
If you edit templates, it makes it harder to keep your WHMCS up to date. I would recommend using a hook to output some JS to inject the appropriate alert to your page.
Perhaps the ClientAreaFooterOutput hook point? https://developers.whmcs.com/hooks-reference/output/#clientareafooteroutput
Something like:
<?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;
});