dポイントプレゼントキャンペーン実施中!

PHP+MySQLのショッピングカートについて

宜しくお願いします。
PHP4.4.1+MySQL4.1.15でショッピングサイトを構築しております。
このサイトはPCと携帯に対応させるように構築しております。
携帯でも購入出来る様にする為に、カートはCOOKIEでは無く、SESSIONに依存しております。
ユーザが商品を選択すると、SESSIONに商品IDや、ユーザの選択した内容が格納されます。
複数の商品ID、選択内容を格納させる為に多次元配列にて格納しております。
買い物が終わり決算する時に、個人情報を入力し、確認ページ表示後にMySQLのDBに個人情報と選択項目をそれぞれinsertしていきます。
商品情報については、カートに入れた商品数分を繰り返し処理を行い、1レコードずつinsertしていきます。
MySQLのDBに書き込み後、自動返信にてメールを店舗とユーザに送信しています。

この様なシステムで、問題が発生しております。
決算後、個人情報、商品情報が欠落している場合があります。DBにも自動返信メールにも明記されず、スッポリ無くなっているのです。
それも、全データではなく、個人情報の電話番号だけとか、商品情報の選択項目の1つだけといった具合です。
毎回ではなく、ときどき現れます。

これはプログラムの問題なのでしょうか?それとも、サーバの処理能力の問題で、同時アクセス時に起きている現象なのでしょうか?
私の環境下では何度テストしても現象が現れない為に、原因が分からず悩んでおります。

A 回答 (2件)

がると申します。


んと…テーブルの「nカラム中の1カラムだけ」が欠落しているのでしょうか?
考えにくいのですが…どちらかというとプログラム側なのではないかとは思うのですが、確証はないです(DBMSで"insertそのものがNGだった"可能性はともかく"insert中の1カラムだけがNG"は、かなり考えにくいです)。

とりあえず、ログなどをきっちりと取って、状況を把握されるのが先決かと思われます。
基本的には
・form情報をSESSIONなどに入れるタイミング
・SESSION情報を触っているタイミング
・SQL文
を一通りとられるとよろしいかと。
ただ、ログファイルがふくれあがるので、そのあたりはご注意ください。

有効な回答ではなくて申し訳ないのですが。
    • good
    • 0
この回答へのお礼

お礼が遅くなりまして申し訳ございません。
どうやら、プログラムの問題な様です。
もう少し考えてみます。
ありがとうございました!!

お礼日時:2007/05/08 14:58

>DBにも自動返信メールにも明記されず



であれば、エラー処理として、DBに欠落データがあるかどうかを
判断するルーチンを組み込み自動返信メールにて
「欠落データが発生したため再入力が必要」の旨、送信すれば
よろしいかと。

実際には、DBに登録されないのであれば、入力チェックの際に
欠落チェック処理をいれるだけでもいいかもしれません
    • good
    • 0
この回答へのお礼

お礼が遅くなりまして申し訳ございません。
恐らく、繰り返し処理が多くてSESSIONからデータがきちんと取り出せていなかった様な感じです。この繰り返し処理の部分をもっとキチンと見直してみます。
ありがとうございました!!

お礼日時:2007/05/08 14:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!