我无法从链接获取数据
如何在 review.php 页面上检索数据 $row['review'] ?
<td align="left"><a href="review.php?id='. $row['review'] . '"> Read Review </a>
使用$_GET
超全局集合,它包含每个查询字符串值。
$review = $_GET['id'];
在您的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
}
希望这能回答你的问题。
最好在尝试获取 GET 变量之前检查它是否存在。要检查它是否可用且不为空,您可以执行以下操作:
$__review_ID = isset($_GET['id']) ? $_GET['id'] : FALSE;
作为 PHP 最佳实践,您可以使用filter_input
:
PHP 的新 input_filter 不读取 $_GET 或 $_POST 数组
那是因为您需要对数据传递的数据进行清理,以确保您的应用程序免受注入代码、xss 等的影响......
FILTER_SANITIZE_ENCODED
FILTER_SANITIZE_NUMBER_INT
FILTER_SANITIZE_EMAIL
FILTER_SANITIZE_URL
我认为这个问题是重复的,需要关闭。