如何取消设置会话以及从表中输入

时间:2010-02-05 02:36:06

标签: php

我在页面中添加书籍详细信息(book_detail.php),  当我添加书籍信息时,我还通过与该书相关的iframe(使用lightwindow.js)添加优惠和插件,并保存了他们的id; s在2会话数组中。  如果有人添加2个插件和3个与这些书相关的优惠,我会在会话中存储这些addons_is和offer_id,当我填写有关该书的所有细节时,我同时添加 addons_is和offer_id在同一行的数据库中。 像

book_id|book_name|book_price|book_addons|book_offers|
 1     | php     | 100      |10,11,     | 17,18,19

其中10,11来自table_addon,其中保存了该插件详细信息 17,18,19来自table_offers,其中保存了要约详情

现在我的问题是:    如果有人添加2个优惠和3个插件及其详细信息,并且不提交该页面(意味着他没有添加该书的详细信息)并返回,那么我如何从两个表中删除该插件和优惠。我想重置会话数组以及来自两个表的条​​目,如果有人再来添加新的书详细信息。

我第一次使用时无法重置会话,因为在通过iframe添加插件时,页面自动刷新,因此无法在页面加载时重置会话

1 个答案:

答案 0 :(得分:1)

关于如何删除数据库记录,请查看使用transactions with MySQL。你的想法是:

  • 开始交易
  • 执行一系列DML语句(也允许INSERT,UPDATE,DELETE ... SELECT)
  • 提交交易(永久更改所有更改)

在启动事务后的任何时候,您都可以使用ROLLBACK来撤消自事务启动以来所做的更改。但是,一旦提交整个事务(使用COMMIT),它就是最终的。


在删除PHP中的会话数据方面,您可以取消设置:

unset($_SESSION[varname])

HTH,

-AJ