【问题标题】:How do I retrieve data that I have sent via a link?如何检索通过链接发送的数据?
【发布时间】:2013-09-16 18:47:03
【问题描述】:

我无法从链接获取数据

如何在 review.php 页面上检索 $row['review'] 数据?

<td align="left"><a href="review.php?id='. $row['review'] .  '"> Read Review </a>

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    在您的reviews.php 中,您可以这样做:

    $reviewID = $_GET['id'];
    

    为了确保已设置好,我会执行以下操作:

    $reviewID = ( isset($_GET['id'] ) : $_GET['id'] ? NULL;
    

    说明:

    超链接的 href 值类似于review.php?id=XXX。查询字符串(作为名称/值对)在 GET 请求的 URL 中发送。由于请求方法是GET,因此您需要使用$_GET 超全局数组,因此$_POST 将不起作用。

    如果您想检查 REQUEST 类型,可以使用$_SERVER['REQUEST_METHOD']

    if ($_SERVER['REQUEST_METHOD'] === 'GET') {
        //do something
    }
    

    希望这能回答你的问题。

    【讨论】:

    • is_null 不是必需的,因为isset 检查它是否存在并且不为空。
    • 如果变量为空,isset() 不会返回 true,因此实际上不需要 is_null()
    【解决方案2】:

    使用$_GET 超全局集合,它包含每个查询字符串值。

    $review = $_GET['id'];
    

    【讨论】:

    • 应该是$_GET['id']
    • @user1829823:我的回答可能回答你的问题。
    • @user1829823 URL 中? 之后的参数是 GET 请求的一部分
    【解决方案3】:

    总是最好在尝试获取 GET 变量之前检查它是否存在。要检查它是否可用且不为空,您可以这样做:

    $__review_ID = isset($_GET['id']) ? $_GET['id'] : FALSE;
    

    【讨论】:

      【解决方案4】:

      作为 PHP 最佳实践,您可以使用 filter_input:

      PHP's new input_filter does not read $_GET or $_POST arrays

      那是因为您需要清理传递的数据,以确保您的应用免受注入代码、xss 等的影响...

      FILTER_SANITIZE_ENCODED
      FILTER_SANITIZE_NUMBER_INT
      FILTER_SANITIZE_EMAIL
      FILTER_SANITIZE_URL
      

      我认为这个问题是重复的,需要关闭。

      【讨论】:

      • 为什么另一个答案是有效的,但正如我之前所说:如果最佳实践有任何相关性,也许这个问题是重复的。
      • 我认为这个问题是重复的,需要关闭。 -- 我正在谈论这个问题。如果您认为此问题 id 重复,请在 cmets 中说明,并链接到重复项。如果你有近距离投票的特权,那就近距离投票吧。说它是重复的并用不相关的信息回答没有帮助。
      • 如果我确定提问者理解在清理数据之间获取全局范围内的变量结果之间的基本区别,那么我真的认为这个问题是重复的。但似乎 OP 的情况可能是 PHP 的初学者,我的回答并不真正适用于您的情况。顺便说一句,使用范围很重要
      【解决方案5】:

      使用$_GET 数组。要获取“review”参数,请使用:

      echo $_GET['review'];
      

      编辑

      获取 'id' 参数:

      echo $_GET['id'];
      

      【讨论】:

      • 应该是$_GET['id']
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-05
      • 1970-01-01
      • 2014-03-07
      • 2019-10-15
      • 1970-01-01
      • 2020-08-03
      相关资源
      最近更新 更多