IF语句返回错误的函数

时间:2019-05-04 16:47:41

标签: php

URL的哈希值在上一页的Cookie中设置,然后重定向到登录页面。如果Cookie的值为null或具有值,则结果仍为“ else”。

$shareURL = $_COOKIE["redirect"];
if ( is_user_logged_in() ) {

  if (is_null($shareURL)) { 
        function Redirect($url, $permanent = false){
        header('Location: ' . $url, true, $permanent ? 301 : 302);
        exit();
      }
        header('Location: /dashboard');

  }else{
        function Redirect($url, $permanent = false){
        header('Location: ' . $url, true, $permanent ? 301 : 302);
        exit();
  }
        Redirect('/120x220x90', false);
     } 


    }else{
    }

2 个答案:

答案 0 :(得分:1)

string(4) "null"

表示您的变量不是数据类型null。而是一个包含null的字符串。这应该起作用。

if (is_null($shareURL) || $shareURL == 'null') {

答案 1 :(得分:0)

您可能不想创建两个功能相同的功能。您可能会考虑修改与以下脚本类似的代码,它会起作用:

function Redirect($url, $permanent = false)
{
    header('Location: ' . $url, true, $permanent ? 301 : 302);
    exit();
}

$shareURL = $_COOKIE["redirect"];
if (is_user_logged_in()) {
    if (is_null($shareURL)) {
        Redirect('/dashboard', false);
    } else {
        Redirect('/120x220x90', false);
    }
} else {

}