我簡直不敢相信我在下面的代碼,只要我瞪大了眼睛:簡單條件 - 不按預期工作 - 最終與die()一起使用?
public function send($boxMemUsed, $boxMemAllocate) {
$this->timeSent = gmmktime();
if ($boxMemUsed >= $boxMemAllocate)
header("Location: ".HOME_PAGE.PM_PAGE."?view=inbox&status=Memory full - please delete old messages");
$validation = $this->_validateMessage();
if ($validation == 'Invalid User')
header("Location: ".HOME_PAGE.PM_PAGE."?view=compose&status=Errors&error=".$validation);
---- >>>如果我添加模具()就在這裏,它重定向到上面的頭彷彿if語句可以正常工作
else
$sender = $this->_database->sendPMessage(get_object_vars($this));
if ($sender)
header("Location: ".HOME_PAGE.PM_PAGE."?view=sentbox&status=Message Sent!");
else
header("Location: ".HOME_PAGE.PM_PAGE."?view=compose&status=Errors&error=Send Error");
}
如果我添加死在這裏,最終的功能捲曲之前,在if($發件人)捕捉條件。
我正在寫一個私人消息程序中的簡單函數。好吧,所以,我去了活頁面,沒有錯誤,我輸入了一個不正確的用戶名,它應該被$ this - > _ validateMessage()調用捕獲 - 它是,我var_dump'd結果直接跟隨和死()倒是。然後我檢查,如果條件是直接後來正確捕捉它,它是 - 它重定向我......?但是,然後我刪除了測試var_dumps和死在if的末尾,它不會被相同的條件捕獲(如果我們正在談論的是if($ validation =='Invalid User')one ) - 它會被else($ sender)有條件捕獲。所以我決定在驗證條件結束時添加die(),並將它重定向到if行中的頭部,就像它應該一樣(顯示我列出的獲取錯誤)。所以我嘗試將模子添加到函數的末尾 - 不行,它不會被條件捕獲。我徹底難倒了。有沒有人看到我沒有的東西?即使我知道在一行條件中不需要它們,我甚至會絕望並添加大括號 - 仍然不行。謝謝你的幫助。
所以你說它做了最後一次重定向? (將錯誤設置爲「發送錯誤」?)這就是它看起來像這樣的代碼。 – 2011-04-08 02:58:30