バージョン選択

フォーラム

メニュー

オンライン状況

63 人のユーザが現在オンラインです。 (55 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 63
もっと...

サイト内検索

質問 > フロント機能 > 精算処理に処理中チェックを追加したい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
syuto
投稿日時: 2010/8/3 17:44
対応状況: −−−
新米
登録日: 2009/11/12
居住地: 大阪
投稿: 4
精算処理に処理中チェックを追加したい
いつもお世話になっております。

注文内容確認画面(XXXX/shopping/confirm.php)にて
サーバー側でのチェック処理を追加したいのですが
中々、追加出来なくて困っています。

注文内容確認画面にて、完了ボタンを連打しても
問題無いように、Javaスクリプトにてチェックを行っていますが
下記の手順にて、Javaスクリプトの完了ボタンの連打チェックを
回避することができます。
 ?完了ボタン押下
  ↓
 ?すぐにF5ボタンを押下し、ブラウザの再読込
  ↓
 ?再度、完了ボタン押下

そこで、セッションに処理中フラグを追加し
完了ボタン連打を回避できる仕組みを実装したいのですが
session_write_close()をコールしないと、セッションへの
登録がうまくいきません。

EC-CUBEには、session_write_close()を使用している箇所が
ほとんど無くて使用することに懸念があります。

session_write_close()を使用した場合の問題等を
ご存知であれば教えて頂けないでしょうか??

また、全く別の方法で、チェック処理を追加できるのであれば
教えて頂けないでしょうか??

seasoft
投稿日時: 2010/8/3 17:53
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7369
Re: 精算処理に処理中チェックを追加したい
もしかすると、PHP 5.3 よりも古いバージョンでご利用でしょうか?

過去スレで話題に上がっていたと思いますが、以前のバージョンの PHP では、セッション周りに不具合があるようです。

session_write_close に関しては、実質的な問題はタイミング次第かなと思います。たとえば、destroy あたりで呼ぶならば、実質的に問題ないように思います。もし、それで問題を回避できるならば、EC-CUBE の標準実装にも取り込みたい内容ですね。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

syuto
投稿日時: 2010/8/3 18:28
対応状況: −−−
新米
登録日: 2009/11/12
居住地: 大阪
投稿: 4
Re: 精算処理に処理中チェックを追加したい
返信ありがとうございます。

過去スレについては、確認させて頂きました。
こちらはPHPは、5.3を使用しています。
PHPが古いために発生するセッションの不具合は
問題無いと考えています。

申し訳ありません。説明不足な箇所がありましたので
要件を詳しく記述します。
session_set_save_handlerのwriteとcloseのイベントは
オブジェクトが破棄されたあとにコールされるとのことで
それよりも早く明示的にwriteとcloseしたい状況です。

今回は、processの最初の方で使用したいと思っていました。
実質的な問題はタイミング次第とのことで
影響範囲が読めないのであれば、session_write_closeでの
対応は控えた方が良さそうですね。

こちらの件は、影響範囲が読みきれていません。
セッション以外で、チェックできる別の方法を考えてみようと思います。

seasoft
投稿日時: 2010/8/3 20:03
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7369
Re: 精算処理に処理中チェックを追加したい
> 今回は、processの最初の方で使用したいと思っていました。
> 実質的な問題はタイミング次第とのことで
> 影響範囲が読めないのであれば、session_write_closeでの
> 対応は控えた方が良さそうですね。

そうですね。検証したことはありませんが、process の最初の方となると、感覚的に問題箇所がありそうです。


ちなみに、「注文内容確認画面にてサーバー側でのチェック処理を追加したい」とのことですが、具体的にはどのような問題を回避したいという意図でしょうか?

(仮に、EC-CUBE の標準実装で、多重受注が発生しているといった事だったら嫌だなぁ・・・ と思いまして。)


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

syuto
投稿日時: 2010/8/3 20:51
対応状況: −−−
新米
登録日: 2009/11/12
居住地: 大阪
投稿: 4
Re: 精算処理に処理中チェックを追加したい
実は、EC-CUBEの標準実装はあまり検証できていません。

こちらのモジュールは
order_id(注文番号)の取得するタイミングを変更していたり
カード決済通信などを追加していますので
チェック処理が必要な状況になっています。

※参考にならないかもしれませんが
 こちらのモジュール上では、insert時にorder_idの重複による
 SQLエラーが発生し、エラー画面に遷移するような状況です。
 こちらでは、多重受注は発生しません。
 
他の不具合の絡みもあり、問題が発生しそうなケースを
全て対応できるようにと考えていますので。

今回は、dtb_order_tempのdel_flgに特殊区分を追加し
判別できるようにして、対応する予定です。

相談させて頂いてきまして、ありがとうございます。
なんとか、今日中に実装できそうです。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は90,406名です
総投稿数は110,383件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1693
8
red
1571
9
mcontact
1366
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.