我有一个问题,我想制作一些搜索页面,它需要一个get变量来对结果进行排序。因此,如果有人进入没有该GET变量的页面,请重新加载页面并使其显示,例如您输入www.myweb.com/search并自动重新加载并更改为www.myweb.com/search/?sort=ascending(因为那个变量是必要的。)
我希望你能理解我,再见
答案 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=widget
或color=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";
}