不太相信我問這個問題,但在這裏不用....PHP退出讓我的代碼工作
(使用內笨PHP)
我整合巴克萊EPDQ到一封電子商務網站採取信用卡付款。成功付款後,EPDQ將重定向回該網站,並在URL中傳遞查詢字符串參數。我正在尋找從EPDQ發回的orderID,如果它存在PHP會話中的一些內容並重定向到付款確認頁面。如果付款失敗,訂單ID將不在此處,因此我重定向到顯示CI視圖文件的付款失敗方法。
此檢查和會話保存程序的條件如下:
$success = false;
if($_GET['orderID'])
{
$_SESSION['payment']['order_id'] = $_GET['orderID'];
$_SESSION['payment']['method'] = 'card';
$_SESSION['payment']['ref'] = $_GET['PAYID'];
$_SESSION['payment']['status'] = 'Completed';
$success = true;
}
(請注意,初始化會話,並在此之前的代碼執行創建的付款陣列)
很簡單到目前爲止, 對。代碼爲方向然後看起來像這樣:
if(!$success)
{
redirect('payment/card/fail');
}
else
{
redirect('payment/confirmation');
}
我遇到的問題是,此重定向不工作,因爲我所期望的。 EPDQ報告成功付款並根據需要重新導向我們的網站。然而,當我的腳本消除了它發送的GET參數並進行重定向時,它總是使用失敗的重定向............除非,這是真正阻止我的那一點,我確實這個:
if(!$success)
{
exit('Failed');
redirect('payment/card/fail');
}
else
{
redirect('payment/confirmation');
}
(注意添加'退出')。
一旦我包含此退出程序,代碼將在所有測試用例中執行,並開始查看付款成功頁面。立即移除退出將恢復爲100%測試失敗。
有沒有人知道爲什麼會發生這種情況,因爲我從未見過這種情況?
Ah..aa..aah ..哈哈!標題+1! – 2013-04-09 11:46:59
你能告訴我們如何控制器.. – Svetoslav 2013-04-09 11:51:13
你可以發佈'redirect()'的代碼嗎 – 2013-04-09 11:52:03