質問 > フロント機能 > 精算処理に処理中チェックを追加したい |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
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 の標準実装にも取り込みたい内容ですね。
|
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 の標準実装で、多重受注が発生しているといった事だったら嫌だなぁ・・・ と思いまして。)
|
syuto |
投稿日時: 2010/8/3 20:51
対応状況: −−−
|
新米 登録日: 2009/11/12 居住地: 大阪 投稿: 4 |
Re: 精算処理に処理中チェックを追加したい 実は、EC-CUBEの標準実装はあまり検証できていません。
こちらのモジュールは order_id(注文番号)の取得するタイミングを変更していたり カード決済通信などを追加していますので チェック処理が必要な状況になっています。 ※参考にならないかもしれませんが こちらのモジュール上では、insert時にorder_idの重複による SQLエラーが発生し、エラー画面に遷移するような状況です。 こちらでは、多重受注は発生しません。 他の不具合の絡みもあり、問題が発生しそうなケースを 全て対応できるようにと考えていますので。 今回は、dtb_order_tempのdel_flgに特殊区分を追加し 判別できるようにして、対応する予定です。 相談させて頂いてきまして、ありがとうございます。 なんとか、今日中に実装できそうです。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |