非常奇怪的问题,我在挠头。如果有人能提供帮助,我将不胜感激,谢谢。
我有一个搜索位置结果页面,只有在1)上一页的表格已提交时才会出现;或2)他们通过网址搜索,例如
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
键入url栏),用户是重定向。
奇怪的是,如果我省略空($ _ GET)命令并使其成为
// Validate input and sanitize
if (empty($_POST['submit']))
{
header('Location: index1.php');
exit;
}
它在空提交时工作正常,只有当我为重定向指定两个条件时才会出现问题。
谢谢大家/卢克
答案 0 :(得分:7)
||
是符合逻辑的OR。目前,您的代码为“if post或get为空,重定向”
你的意思是“如果两者帖子和获取为空,重定向”。
您应该使用逻辑AND(&&
):
if (empty($_POST['submit']) && empty($_GET['use_url']))
{
header('Location: index1.php');
exit;
}
答案 1 :(得分:0)
试试这个:
if (empty($_REQUEST['submit'])
或if(!isset($ _ REQUEST ['submit'])