PHP变量不加载多次?

时间:2014-03-07 11:53:47

标签: php variables

我有一个包含帖子数据的变量:

$ttransid = $_POST["t_transid"];

然后我连接到数据库并从与$ttransid对应的行中提取信息。 这很好。

然后进行PayPal交易,如果付款成功,则使用付款信息更新数据库 - 这是有效的。

现在我的代码尝试更新数据库并根据开头的原始$ttransid变量删除库存。

 $querysub = "UPDATE ibn_table SET iname = iname - 1 WHERE itransaction_id='$ttransid'";
        if(!mysql_query($querysub))
        {
            //mysql error..!
        }

数据库已更新,但仅在itransaction_id为空的情况下,建议$ttransid为空。虽然它在代码的开头被正确调用和使用。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

这是因为下次点击您的网页时,$_POST为空,因此没有$_POST["t_transid"]。所以当你指定

 $ttransid = $_POST["t_transid"];

它变空并更新空字符串。我建议你在数据库或会话中保存该post变量值,这样你就可以使用后者了。

答案 1 :(得分:0)

在进入paypal支付页面之前的起始点,只需将$ transid [POST数据中的可用性]保留到会话中,然后在支付成功后,使用会话transid更新数据库。

在此过程之后,只需从会话中销毁transid。

当然可以。