如何检索通过链接发送的数据?

时间:2013-09-16 18:47:03

标签: php mysql

我无法从链接中获取数据

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

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

5 个答案:

答案 0 :(得分:2)

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

$review = $_GET['id'];

答案 1 :(得分:2)

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
}

希望这能回答你的问题。

答案 2 :(得分:2)

始终最好在尝试抓取之前检查GET变量是否存在。要检查它是否可用而不是null,您可以这样做:

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

答案 3 :(得分:0)

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

echo $_GET['review'];

修改

获取'id'参数:

echo $_GET['id'];

答案 4 :(得分:0)

作为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

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