1

我无法从链接获取数据

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

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

5 回答 5

2

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

$review = $_GET['id'];
于 2013-09-16T18:49:16.677 回答
2

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

$reviewID = $_GET['id'];

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

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

解释:

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

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

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

希望这能回答你的问题。

于 2013-09-16T18:49:46.897 回答
2

最好在尝试获取 GET 变量之前检查它是否存在。要检查它是否可用且不为空,您可以执行以下操作:

$__review_ID = isset($_GET['id']) ? $_GET['id'] : FALSE;
于 2013-09-16T18:50:31.070 回答
0

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

echo $_GET['review'];

编辑

获取“id”参数:

echo $_GET['id'];
于 2013-09-16T18:51:05.950 回答
0

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

PHP 的新 input_filter 不读取 $_GET 或 $_POST 数组

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

FILTER_SANITIZE_ENCODED
FILTER_SANITIZE_NUMBER_INT
FILTER_SANITIZE_EMAIL
FILTER_SANITIZE_URL

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

于 2013-09-16T18:54:33.907 回答