2011-08-31 97 views
1

我得到一个错误说'Undefined index: redirect'CakePHP的未定义指数寻找查询字符串时

与此代码:

 $came_from_site = $_GET['redirect']; 
     if($came_from_site != "true") 
     { 
      echo 'USER TYPED IN URL MANUALLY'; 
     } 

错误发生时,查询字符串不存在....所以我猜我需要检查是否a)它存在,然后如果它b)检查它的值是否为真

任何人都可以帮忙吗?

由于

+2

$ came_from_site = isset($ _ GET [ '重定向'])? $ _GET ['redirect']:null; –

+0

嗨,你能解释一下那行代码的每一行,因为我不理解它。谢谢;)注意:它的工作方式很好 – Cameron

+0

上面的代码使用[ternary operators](http://uk2.php.net/manual/en/language.operators.comparison.php)并且是一个' if/else'语句虽然有时会引起混淆,但它们可以节省时间和空间。阅读上面的内容:如果isset($ _ GET ['redirect'])'计算结果为'true',则赋值'$ came_from_site'作为'$ _GET ['redirect']的返回值。否则,将'$ came_from_site'设置为'null'。 – Ross

回答

1
if(empty($_GET['redirect'])){ 
    echo 'USER TYPED IN URL MANUALLY'; 
} 

由于

+0

使用empty()或!empty()作为isset()不会检查值,而只检查变量的存在,而empty将检查变量的存在和是否为true,false或0 –