2013-09-16 42 views

回答

2

在你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']

+0

'is_null'不是必需的,因为'isset'检查它是否存在并且不为空。 –

+0

如果变量为空,则isset()不会返回* true *,因此'is_null()'实际上不是必需的。 – ComFreek

+0

谢谢。我已经更新了答案。 –

2

使用$_GET超全局集合,它包含每个querystring值。

$review = $_GET['id']; 
+0

应该是'$ _GET ['id']'。 – ComFreek

+0

谢谢你的工作很棒。 $ _post怎么不起作用? – user1829823

+0

@ user1829823:我的答案*可能会回答你的问题。 –

2

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

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

使用$_GET阵列。为了得到 '审查' 参数,使用方法:

echo $_GET['review']; 

编辑

要获得 '身份证' 参数:

echo $_GET['id']; 
+0

应该是'$ _GET ['id']'。 – ComFreek

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 

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

+0

那你为什么用不相关的信息回答它? –

+0

为什么其他答案是有效的,但正如我之前所说:如果最佳做法有任何相关性,*可能*这个问题是重复的。 –

+1

*我认为这个问题是重复的,需要关闭。* - 我正在谈论这个问题。如果你认为这个问题id重复,那么在评论中这样说,并链接到重复。如果您有近距离投票权,请对其进行近距离投票。说它是重复的,并回答无关的信息不会有帮助。 –