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

问题描述 投票:0回答:2

我正在尝试访问包含某个参数的链接时隐藏一些元素。但是,仅当source=app是所有参数顺序中的第一个时,它才有效,以下是我按参数顺序表示的示例。

URL参数URL工作示例

https://url.com/app.php?source=app&order_id=274&order_name=phone-black

URL参数URL无效示例

https://url.com/app.php?order_id=274&order_name=phone-black&source=app

注意两个URL中的location source = app参数

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

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

我有什么想念的吗?

php html url parameters
2个回答
0
投票

您需要urlencode您的网址,以避免使用特殊字符,例如&

$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

并且应可在所有浏览器上使用。


0
投票

据我所知,您希望基于URL参数隐藏Web应用程序的各个部分,为此,我希望以下代码对您有所帮助:

$header = true;

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

if ( $header === true ) {
    // Your HTML
}

现在,您的代码无需考虑参数的顺序即可使用。

© www.soinside.com 2019 - 2024. All rights reserved.