在index.php打开时预定义$ _GET参数

时间:2016-11-11 07:56:40

标签: php

有没有办法在打开" index.php&#34时设置一个具有特定值的$ _GET参数;

例如:网址=" ... / index.php?somePara = value"

我尝试使用:

header("Location: index.php?page=1");
 exit();

但是我收到错误

  

" localhost重定向了你太多次了。"

编辑:
谢谢,Qirel,有效,我需要它,因为我有附加到$ _GET参数的变量,所以不是将它们设置为NULL,然后在if($ _ GET)检查后将值传递给它们 - >这样他们就不会得到未定义的错误,我想知道如何打开文件传递值。

2 个答案:

答案 0 :(得分:0)

如果我的代码中使用了$_GET个参数,我总是为这些变量设置一个默认值,因为你永远不确定它是否已设置。

$name = isset($_GET['name']) ? $_GET['name'] : 'Guest';

// This is the shorter version for
if (isset($_GET['name'])) {
    $name = $_GET['name'];
} else {
    $name = 'Guest';
}

解决问题的方法会让你陷入无限循环。但是你可以这样做:

if (!isset($_GET['page'])) {
    header("Location: index.php?page=1");
    exit;
}

答案 1 :(得分:0)

问题是你没有条件,或者你有,但在这个用例中总是如此。

你的问题提到了这个条件:

  

有没有办法在打开时设置具有特定值的$ _GET参数   "的index.php"

但您的代码不包含:

header("Location: index.php?page=1");
 exit();

所以你可以将它包装成一个条件:

if (isset($_GET["certain"]) && ($_GET["certain"] === "value")) {
    header("Location: index.php?page=1");
    exit();
}

请注意,header的字符串参数不包含certain,因为这会导致无限循环。如果您打算在其中加入if,还可以检查page是否有certain参数。

我已阅读建议将$_GET的相应键设置为预期值而不是重定向的注释,但这并不总是一个选项,因为您可能想要美化URL甚至重定向到另一个网站的页面。