如何将GET变量添加到当前URL?

时间:2013-01-14 02:33:13

标签: php variables search get

我有一个问题,我想制作一些搜索页面,它需要一个get变量来对结果进行排序。因此,如果有人进入没有该GET变量的页面,请重新加载页面并使其显示,例如您输入www.myweb.com/search并自动重新加载并更改为www.myweb.com/search/?sort=ascending(因为那个变量是必要的。)

我希望你能理解我,再见

3 个答案:

答案 0 :(得分:1)

我认为这适用于你想要做的事情:

if (empty($_GET['sort'])) {
    header('Location: ' . $_SERVER['REQUEST_URI'] . '?sort=ascending');
    exit();
}

答案 1 :(得分:-1)

在请求www.myweb.com/search时执行的文件中,当$ _GET ['sort']不可用时,您应该有一个默认设置。对于本答案,我将使用PHP作为我的示例,因为您没有指定。

<?php
if (empty($_GET['sort'])) {
    $sort = 'ascending';
}
// the rest of your code

或者,你可以强制重定向,但前面的例子更优雅。

<?php
if (empty($_GET['sort'])) {
    header('Location: www.myweb.com/search/?sort=ascending');
    exit;
}

请记住,第二个解决方案会抛弃其他任何内容,即其他$ _GET,例如item=widgetcolor=blue

请其他人发帖!isset作为答案。那不行!示例:

www.myweb.com/search/?sort=&foo=bar

!isset($_GET['sort']) === false!

empty($_GET['sort'])是在这种情况下采取的正确途径。

答案 2 :(得分:-2)

最好自己定义变量,而不是重定向。如果定义了变量,只需检查isset。它尚未定义,您可以自己设置如下。

if(!isset($_GET['sort']))
{
$_GET['sort']='ascending";
}