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

标签 php redirect

非常奇怪的问题,我正在摸不着头脑。如果有人可以提供帮助,我们将不胜感激,谢谢。

我有一个“搜索位置”结果页面,只有在以下任一情况下才会出现该页面: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/

相关文章:

php - 在mysql数据库中保存事件日期

javascript - php 多选下拉菜单

php - Smarty权限问题

javascript - 逻辑 if 差异

.htaccess - 如何在.htaccess上下文中阻止多次mod_rewrite传递(或无限循环)

javascript - jQuery 重定向到源 url

redirect - 从 https 发送 301 重定向是否可以(如果未使用)?

php - MySQL - 写入不同的服务器

bash - 在 AIX 中将 STDERR 和 STDOUT 重定向到/dev/null 失败

.net - IIS 从特定过时的 URL 重定向?