【问题标题】:PHP: How to pass multiple parameters under same name through url? [duplicate]PHP:如何通过url传递同名的多个参数? [复制]
【发布时间】:2020-10-10 13:18:54
【问题描述】:

我遇到了一个挑战,我在 PHP 文件中包含此代码:

<?php
include('secretfile.php');
if(isset($_GET['a']) && isset($_GET['b']))
{
    $a = $_GET['a'];
    $b = $_GET['b'];

    if (!empty($a) && !empty($b))
    {
        if($a===$b)
        {

            if(isset($_GET['a⁡']) && isset($_GET['b⁦']))
            {
                $a = $_GET['a⁡'];
                $b = $_GET['b⁦'];
                if($a!==$b)
                {
                    echo $secretcode;
                }
            }
        }
    }
} 

我必须在 OUT 更改 PHP 文件的网页中打印 secretcode。 我该怎么做? 我尝试通过这样的 URL 提供参数:

http://127.0.0.1:8080/?a=1&b=1&a=22&b=33

但它没有用。该文件直接采用最后一个值,无论如何,我都无法超过第 13 行。我经历了很多答案,但我没有解决方案。 有可能做到吗?如果是,怎么做?

【问题讨论】:

  • 同一个问题已经关闭了,为什么还要重新发布(stackoverflow.com/questions/62484198/… 现已删除)。
  • 如果副本没有回答您的问题,您可以澄清问题所在,也许它可能有助于获得答案。

标签: php url get parameter-passing


【解决方案1】:

要为ab 传递多个值,您需要使用[] 表示法,如下所示:

http://127.0.0.1:8080/?a[]=1&b[]=1&a[]=22&b[]=33

话虽如此,您文件中的 PHP 代码似乎写得不好。

【讨论】:

  • 在这种情况下,您必须更改 PHP 文件以获取数组。否则,它将不起作用。
  • @LightYagami 没有其他方法可以通过具有相同键不同值的 GET 请求。顺便问一下,你分享的脚本有什么意义?它检查是否相等,再次做同样的事情,现在它期望它们由于某种原因不相等。
【解决方案2】:

要在 html 表单上传递数组,您可以使用 [] 之类的

<form method="GET">
    <input type="text" name="a[]" />
    <input type="text" name="b[]" />
<form/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-19
    • 1970-01-01
    • 2017-11-15
    • 2018-08-29
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    相关资源
    最近更新 更多