如果GET或POST为空,则重定向

luk*_*lan 4 php redirect

非常奇怪的问题,我在挠头.如果有人可以提供帮助,将非常感谢,谢谢.

我有一个搜索位置结果页面,只有在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; 
 } 
Run Code Online (Sandbox Code Playgroud)

问题是,它不起作用,它正在重定向每个请求.有没有人知道如何让它工作,所以如果没有提交帖子,或者如果没有get请求(基本上,如果用户www.mywebsite.com/locations.php直接输入url栏),则重定向用户.

奇怪的是,如果我省略空($ _ GET)命令,并因此

// Validate input and sanitize
if (empty($_POST['submit']))
 {
  header('Location: index1.php');
  exit; 
 } 
Run Code Online (Sandbox Code Playgroud)

它在空提交时工作正常,只有当我为重定向指定两个条件时才会出现问题.

谢谢大家/卢克

Ste*_*eve 7

||逻辑或.目前您的代码读取"如果任何职位或得到的是空的,重定向"

清楚你的意思IM是"如果这两个职位,并得到是空的,重定向".

你应该使用逻辑AND(&&):

if (empty($_POST['submit']) && empty($_GET['use_url']))
{
  header('Location: index1.php');
  exit; 
} 
Run Code Online (Sandbox Code Playgroud)