2011-08-31 100 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 –