根据缺少 URL 参数或参数是不是为空来重定向页面 - PHP

Posted

技术标签:

【中文标题】根据缺少 URL 参数或参数是不是为空来重定向页面 - PHP【英文标题】:Redirect page based on lack of a URL parameter or if parameter is null- PHP根据缺少 URL 参数或参数是否为空来重定向页面 - PHP 【发布时间】:2014-03-31 11:50:35 【问题描述】:

我有一个网址,例如http://foo.com?stone=yes

指向该 URL 的页面是用 php 编码的。

我可以用下面的来读石头。

如果满足以下条件,我希望能够重定向页面:

    石头的值为空 网址中没有石头。

我尝试了以下方法,但没有成功。

 $stonevar = $_GET['stone'];

 if ($stonevar = "") 
    header("Location: http://google.com");
 

【问题讨论】:

【参考方案1】:

您可以通过empty() 做到这一点

<?php

if(empty($_GET['stone'])) 
    header("Location: http://google.com");
    exit;


?>

【讨论】:

不客气。我一注意到你修复了我的评论就删除了。【参考方案2】:

您的代码中有一些错误。

1- 如果您不检查 $_GET['stone'] 是否存在,您将收到如下警告:Undefine variable...

2- 在您的 if 语句中,您正在分配一个值,要比较值,请改用 =====

将您的代码更改为:

$stonevar = isset($_GET['stone']) ? $_GET['stone'] : NULL;

if (empty($stonevar)) 
  header("Location: http://google.com");
  exit();

有用的链接:

isset

empty

Comparison Operators

Ternary Operator

【讨论】:

【参考方案3】:

if 条件中的代码$stonevar = "" 将值“”分配给变量$stonevar

为了比较,您将需要使用相等运算符==,例如:

 if ($stonevar == "") 
 header("Location: http://google.com");
  

【讨论】:

【参考方案4】:
<?php

if(empty($_GET['stone'])) 
header("Location: http://google.com");

?>

【讨论】:

请通过添加不仅仅是代码 sn-p 来提高此答案的质量。

以上是关于根据缺少 URL 参数或参数是不是为空来重定向页面 - PHP的主要内容,如果未能解决你的问题,请参考以下文章

如何根据用户在 Django 中是不是为管理员来重定向登录 url?

Spring MVC Controller 使用 URL 参数重定向而不是响应

关于nginx你可能不知道的秘密----nginx地址重写以及错误页面配置

根据 URL 参数重定向,如果 URL 参数在表行中可用 - PHP MySQL

thinkphp如何根据域名跳转到其他目录页面

将数组作为url参数传递并重定向到新页面