非常奇怪的问题,我正在摸不着头脑。如果有人可以提供帮助,我们将不胜感激,谢谢。
我有一个“搜索位置”结果页面,只有在以下任一情况下才会出现该页面:1) 上一页的表单已提交;或 2) 他们正在通过 url 进行搜索,例如
www.mywebsite.com?use_url=on&zipcode=UB95BX&radius=50
。
因此,在页面顶部我有以下代码:
// Validate input and sanitize
if (empty($_POST['submit']) || empty($_GET['use_url']))
{
header('Location: index1.php');
exit;
}
问题是,它无法正常工作,并且会重定向每个请求。有谁知道我如何让它工作,这样如果没有提交帖子,或者如果没有获取请求(基本上,如果用户输入 www.mywebsite.com/locations.php
直接进入网址栏),用户将被重定向。
奇怪的是,如果我遗漏了空的($_GET)命令并因此使它成为
// Validate input and sanitize
if (empty($_POST['submit']))
{
header('Location: index1.php');
exit;
}
它在空提交上工作正常,只有当我为重定向指定两个条件时才会出现问题。
谢谢大家/卢克
最佳答案
||
是逻辑或。当前您的代码显示为“如果 either post 或 get 为空,则重定向”
我确定你的意思是“如果 both post 和 get 都是空的,则重定向”。
你应该使用逻辑与(&&
):
if (empty($_POST['submit']) && empty($_GET['use_url']))
{
header('Location: index1.php');
exit;
}
关于php - 如果 GET 或 POST 为空,则重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24866563/