gpt4 book ai didi

PHP 退出使我的代码工作

转载 作者:搜寻专家 更新时间:2023-10-31 21:12:38 25 4
gpt4 key购买 nike

我不敢相信我会问这个问题,但这里......

(在 Codeigniter 中使用 PHP)

我正在将 Barclays EPDQ 集成到电子商务网站中以进行信用卡付款。成功付款后,EPDQ 重定向回在 URL 中传递查询字符串参数的站点。我正在寻找从 EPDQ 发回的 orderID,如果它在那里,我会在 PHP session 中存储一些东西并重定向到付款确认页面。如果付款不成功,订单 ID 将不存在,因此我将重定向到显示 CI View 文件的付款失败方法。

此检查和 session 保存例程的条件如下:

$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;
}

(请注意在执行此代码之前 session 已初始化并已创建支付数组)

到目前为止非常简单,对吧。路线代码如下所示:

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% 测试失败。

有谁知道为什么会发生这种情况,因为我以前从未见过这种情况?

最佳答案

唯一可能的解释是 $success 没有更新并且它的预赋值为 false。通过 var_dump 检查 $success 的值。

关于PHP 退出使我的代码工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15900957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com