URL参数不起作用,如果按顺序放在第一位,则接受



访问包含某个参数的链接时,我试图隐藏一些元素。但只有当source=app是所有参数顺序中的第一个时,它才起作用,下面是我的参数顺序示例。

URL参数URL工作示例

https://url.com/app.php?source=app&order_id=274&order_name=手机黑色

URL参数URL不工作示例

https://url.com/app.php?order_id=274&order_name=手机黑色&source=应用

注意两个URL 中的位置源=应用程序参数

我使用下面的代码来隐藏元素

<?php if(!isset($_GET['source']) || $_GET['source'] != "app"): ?> HTML <?php endif; ?>

我错过了什么吗?

您需要对url进行url编码,以避免&:等特殊字符

$url = "https://url.com/app.php?".urlencode("source=app&order_id=274&order_name=phone-black");

这导致

https://url.com/app.php?source%3Dapp%26order_id%3D274%26order_name%3Dphone-black

并且应该可以在所有浏览器上工作。

根据我的理解,您希望根据URL参数隐藏web应用程序的某些部分,为此,我希望以下代码对您有所帮助:

$header = true;
if ( isset( $_GET['source'] ) ) {
if ( $_GET['source'] == 'app' ) {
$header = false;
}
}
if ( $header === true ) {
// Your HTML
}

现在,您的代码将在不考虑参数序列的情况下工作。

最新更新