【问题标题】:Drupal redirectionDrupal 重定向
【发布时间】:2014-07-09 04:30:39
【问题描述】:

我正在做一个项目,其中有一个自定义模块,其中包含 drupal 重定向代码,代码如下:

if (empty($_GET['destination'])
&& isset($_COOKIE["abc"])
&& $_COOKIE["abc"]<>''
&& ($_POST['form_id'] != 'user_pass_reset'))
  {
   $_GET['destination'] = "xyz" ;
  }
}

谁能解释一下第三行代码或者全部。谢谢

【问题讨论】:

    标签: redirect drupal-7 drupal-modules drupal-hooks


    【解决方案1】:

    我已将 cmets 添加到源中。 &lt;&gt;!= 相同。见PHP Comparison Opperators

    if (empty($_GET['destination']) //Check if $_GET['destination'] is empty.
    && isset($_COOKIE["abc"]) //Check if $_COOKIE["abc"] is not NULL.
    && $_COOKIE["abc"]<>'' //Check if $_COOKIE["abc"] does not equal an empty string.
    && ($_POST['form_id'] != 'user_pass_reset')) //Check if $_POST['form_id'] is not 'user_pass_reset'
      {
       $_GET['destination'] = "xyz" ; //Set $_GET['destination'] to "xyz"
      }
    }
    

    【讨论】:

    • 感谢您的快速回复和解释
    • 我还有一件事要问, 和 != 之间有什么区别吗?如果他们都做同样的事情,那么必须在某个地方使用它们,而不是在数组等中使用它们。谢谢。
    • @H_alt 据我所知,没有任何实际区别。由开发人员决定使用哪个。就我个人而言,我从未见过有人真正使用过&lt;&gt;
    【解决方案2】:

    应该在第二行稍作修改

    if (empty($_GET['destination']) //Check if $_GET['destination'] is empty.
    && isset($_COOKIE["abc"]) //Check if $_COOKIE["abc"] is EXISTS.
    && $_COOKIE["abc"]<>'' //Check if $_COOKIE["abc"] does not equal an empty string.
    && ($_POST['form_id'] != 'user_pass_reset')) //Check if $_POST['form_id'] is not   'user_pass_reset'
      {
       $_GET['destination'] = "xyz" ; //Set $_GET['destination'] to "xyz"
      }
    }
    

    【讨论】:

    • //Check if $_COOKIE["abc"] is EXISTS (IT CAN ALSO BE NULL). 这实际上是不准确的,如果值为NULLisset 将返回FALSEisset — Determine if a variable is set and is not NULLphp.net/manual/en/function.isset.php
    猜你喜欢
    • 2015-05-02
    • 2015-09-20
    • 2010-11-22
    • 2014-04-10
    • 2015-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多