如何在PHP中从URL获取参数?

3

我在stackoverflow上阅读了一些帖子,部分解决了我的问题,但我没有找到答案。我的url中有两个参数"www.site.com/?page=1&f[0]=bundle"。使用$_REQUEST['page']可以正常工作,但是当我尝试使用$_REQUEST['f[0]']时,却无法正常工作。我想根据url跳过我的代码的一部分。那么如何使用!isset($_REQUEST['f[0]'])或类似的测试呢?

6个回答

3

它们是GET参数。

$_GET['page']; // = 1
$_GET['f'][0]; // = bundle

应该可以工作。

我使用了 $_GET['page'],当我尝试使用 $_GET['f[0]'] 时它不起作用。我该如何获取 $_GET['f[0]']? - Slasengger

3
当你用方括号传递变量时,这意味着在PHP代码中此变量将成为一个数组。因此,要访问它,请使用以下内容:
$_REQUEST['f'][0]
// or $_GET['f'][0]

3

用于在URL中传递变量的格式是url本身,紧随其后的是一个问号,然后是由和号分隔的变量和变量数据列表。

例如:

www.domain.com/index.php?variable1Name=theFirstValue&variable2Name=theSecondValue

$variable1 = $_GET['variable1Name'];
$query1 = "SELECT * FROM table1 WHERE recodrID = $variable1";
$variable2 = $_GET['variable2Name'];
$query2 = "SELECT * FROM table2 WHERE recodrID = $variable2";

我现在要强调的是,在xhtml strict中要符合W3C标准,您不能在代码中使用&符号,而必须在源代码中使用&,这将由您的浏览器解析为&符号。因此,如果您想在html中链接到上面的URL示例,则链接代码如下:

<a href="www.domain.com/index.php?variable1Name=theFirstValue&amp;variable2Name=theSecondValue">Link Title</a>

我希望这可以帮到您:)

Christian的回答解决了这个问题。但还是谢谢你的回答 :) - Slasengger

2

你的第二个参数是一个数组,请尝试使用以下代码:

$_REQUEST['f'][0]

2

你可以尝试这个:

$get_data = $_GET; // this is an array of all get parameter and value 

$pageval =   $get_data['page'];

$fval =  $get_data['f'][0];


echo $pageval;

echo $fval;

2
在PHP中,您可以使用3个全局数组来获取请求的数据。 $_REQUEST是一个通用的数组(GET、POST和COOKIE)。 $_GET - 仅限于GET请求。 $_POST - 仅限于POST请求。
因此,您可以通过两种方式从请求中获取f-array。
$f = $_REQUEST['f'];
print_r($f);

或者

$f = $_GET['f'];
print_r($f);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接