【问题标题】:Get parameter, passed via the link in PHP获取参数,通过PHP中的链接传递
【发布时间】:2017-12-17 14:54:29
【问题描述】:

我通过代码从http://localhost/match?id=1 获取变量:

<?
if (isset($_POST['id'])) {
    $id = $_POST['id'];
    $id = secure($id);
} else {
    echo "error";
    die();
}

我从 else 语句中得到了错误。如何获取参数,通过链接传递?

【问题讨论】:

  • 如果您通过浏览器尝试,....?id=1 将使其成为 GET 请求,因此您将在 $_POST 中看不到任何内容。如果你需要做一个 POST 请求,你 can use curl 来测试它。
  • 阅读 this 了解有关 GET 与 POST 的更多详细信息。
  • 另外,如果您根本不关心是 GET 还是 POST 请求,您可以使用$_REQUEST['id']

标签: php http http-get superglobals


【解决方案1】:

试试这个代码:

<?
if (isset($_GET['id'])) {
    $id = $_GET['id'];
    $id = secure($id);
} else {
    echo "error";
    die();
}

通过链接传递的参数可以通过$_GET 超全局访问。

Info about $_GET on php.net.

Some explanations about $_GET vs $_POST on w3schools.com.

【讨论】:

  • 这解决了症状但不一定是问题:)
【解决方案2】:

如果您从表单中获取数据,请使用 POST。如果您通过链接获取数据,则为 GET。在您的情况下,它是链接

if (isset($_POST['id'])) { ** this POST should be GET because you have http://localhost/match?id=1

【讨论】:

    猜你喜欢
    • 2021-12-12
    • 2015-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    • 2018-01-17
    • 1970-01-01
    相关资源
    最近更新 更多