我无法从链接获取数据如何检索通过链接发送的数据?
如何检索review.php页面上的数据$ row ['review']?
<td align="left"><a href="review.php?id='. $row['review'] . '"> Read Review </a>
我无法从链接获取数据如何检索通过链接发送的数据?
如何检索review.php页面上的数据$ row ['review']?
<td align="left"><a href="review.php?id='. $row['review'] . '"> Read Review </a>
在你reviews.php
,你可以这样做:
$reviewID = $_GET['id'];
,并确保它的设置,我会做到以下几点:
$reviewID = (isset($_GET['id']) : $_GET['id'] ? NULL;
说明:
超链接的href值与012类似。查询字符串(作为名称/值对)在GET请求的URL中发送。由于请求方法是GET
,因此您需要使用$_GET
超全局数组,因此$_POST
将不起作用。
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
//do something
}
希望这回答了你的问题:
,如果你想查询请求类型可以使用$_SERVER['REQUEST_METHOD']
。
'is_null'不是必需的,因为'isset'检查它是否存在并且不为空。 –
如果变量为空,则isset()不会返回* true *,因此'is_null()'实际上不是必需的。 – ComFreek
谢谢。我已经更新了答案。 –
使用$_GET
超全局集合,它包含每个querystring值。
$review = $_GET['id'];
应该是'$ _GET ['id']'。 – ComFreek
谢谢你的工作很棒。 $ _post怎么不起作用? – user1829823
@ user1829823:我的答案*可能会回答你的问题。 –
它是总是最好在尝试抓取它之前检查GET变量是否存在。要检查它是否可用,并且不为空,你可以这样做:
$__review_ID = isset($_GET['id']) ? $_GET['id'] : FALSE;
由于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重复,那么在评论中这样说,并链接到重复。如果您有近距离投票权,请对其进行近距离投票。说它是重复的,并回答无关的信息不会有帮助。 –
With'$ _GET ['id']' – Sammitch