所以我正在編輯我公司的一個網站。我並不太熟悉Zend的工作方式,但我沒有找到解決這個問題的好運氣。
我們有兩個不同的網站,我可以自由編輯和測試的分期網站,以及公衆可以查看的現場版本。當我創建一個新的控制器/視圖時,我使用$ _GET數據來處理某些表單。它在測試結束時按預期工作,但由於某種原因生產結束不起作用。經過一些測試後,我發現$ _GET數據並未實際發送,因此我的腳本會將我引導出來(因爲它的設計目的)。
的URL看起來有幾分像這樣:
/admin/something/update?data=20
所以我檢查$ _GET,因爲我通常做:
if (isset($_GET) && !empty($_GET["data"])) {
// do something
} else {
// redirect the user
}
它總是重定向像它應該如果沒有$ _GET數據(如果數據不包含值)。
所以我調試並發現這是$ _GET在我print_r後的樣子,儘管URL清楚地包含$ _GET數據,但我得到的是一個空數組。
這可能是我對Zend處理GET和POST數據的有限知識(因爲我幾乎將我對老派PHP的編輯保留下來),所以任何燈光都會很棒。謝謝。
我不t知道ZF,但如果我不得不猜測,我會說你的mod_rewrite規則沒有'QSA'標誌,所以查詢字符串項目不會被轉發o r ZF用$ _GET做了一些事情,覆蓋它,然後期望你使用某種方法來獲取這些數據。 –
[你不需要檢查'isset()&&!empty()'](https://stackoverflow.com/questions/4559925/why-check-both-isset-and-empty)。 – Qirel
'$ _GET'作爲其他** superglobals **總是\可用,所以檢查它是否存在是毫無意義的 –