CGI-BBS > SO−HO > ショッピングバスケット > バスケットに商品の出し入れがうまくできない。


カレッヂ
カレッヂ


質問者 tanaka  投稿日 9/24(水) 10:31:05
redhat linuxで,wwwサーバーを作ったのですが、簡易ショッピングバスケットの設置がうまくいきません。
サーバーとブラウザーは、クッキーのやり取りをしているようなのですが、サーバーの用量を超えてしまうようで(多重ロード?)、
商品を選択した初回アクセスは、バスケットの中身が表示されますが、次からは、何もない状態になってしまいます。

cgi,apacheなど、勉強をはじめたばかりなので、私の質問の内容が適切であるか、心配ですが、ご指導よろしくお願いします。

プロバイダ参照:http://www.minoyaki.sytes.net
サーバのOS:UNIXサーバ
パソコンのOS:Win95系
エディタ:j-note
FTPソフト:ffftp
サーバ移転:していない
改造:(未選択)
CGI習熟度:middle

回答者 domo  [削除]  投稿日 9/25(木) 05:12:33
http://www.rescue.ne.jp/cgi/cargo/
こちらに書いてありますが、セッション(一時的)クッキーです。
ブラウザをいったん閉じた場合、再度アクセスしてもかごの中身は空になるということ
をいわれているのでしょうか?
その場合は、正常の動作なはずです。
質問者 tanaka  [削除]  投稿日 9/25(木) 20:23:45
domoさん、早速、返信いただきありがとうございます。
やはり、言葉たらずでした、すみません。

オーダーページ(index.html)で商品数量など選択すると、cargo.cgiがactionし、バスケットの中身が表示されます。
次に、その商品を削除したり、オーダーページにもどり、追加オーダーしたりする。その後、決定し、webformで連絡する。
と、言うのが一連の流れだと思うのです。

今回、設置したショッピングバスケットは、初めの商品決定では、cargo.cgiがactionし、バスケットの内容を表示するのですが、その後、商品を削除したり、追加オーダーするとバスケットの内容がうまく表示されません。
商品が無かったり、重複してオーダーされたり、と、...

サーバーに問題があるのでしょうか?
cargo.cgiのパスなどに、問題があるのでしょうか?

どうか、お助けください。よろしくお願いします。

回答者 domo  [削除]  投稿日 9/25(木) 22:36:24
文面だけで判断すると、cookieのやり取りがうまくいっていない感じですが。

ブラウザは何を使用していますか?
いくつかの種類のブラウザで試して見て結果が同じか試してください。

提案ですが、問題のwebサーバではなく、どこかの無料のレンタルサーバを借りて
ショッピングバスケットが設置できるかどうかやってみてください。

質問者 tanaka  [削除]  投稿日 9/27(土) 00:40:29
domoさん、返信ありがとうございます。

ブラウザーは、IE6、ネットエスケープ、モジラーどれも同じ結果でした。

初めは、近所のプロバイダー契約し、そこで提供されるサーバーに upしていましたが、ADSLを引いたのを期に
サーバーを作ったのがはじまりです。
ですから、プロバイダーのサーバーでは、ショッピングバスケットはうまく作動していました。

今回、できることなら、自作のサーバーでの問題解決を望んでいます。
お手数をお掛けしますが、何とか助言を頂きたいです。よろしくお願いします。
回答者 domo  [削除]  投稿日 9/27(土) 22:48:40
お役に立つかわかりませんが。。
・テスト環境に問題ありかもしれないので、知人か誰かに全くの外部から
 IPではなくドメインでアクセスしてもらって同様の問題が起こるか確認してもらう。
 (ドメインとDNSの設定はOKですよね?)
・該当のサーバマシン内でよけいなネットワークサービスが動作していないか確認する。
 proxyサーバとか。
・HTTPヘッダの送受信ログをとってcookieが正常にやり取りされていない部分を
 見つける。
・ショッピングバスケットさえ動作すればよいのでしたら、cookieを使用せずhidden渡しで
 情報のやり取りをするようにCGIを改造する。

自分だったら以上のことをやってみるかなと思います。
一つ一つの具体的なやり方はご勘弁を。

質問者 tanaka  [削除]  投稿日 10/9(木) 07:02:28
遅くなりまして、すみません。

一つ一つ確認して行こうと思います。分からない点が多々ありますのですみません。

・テスト環境に問題ありかもしれないので、知人か誰かに全くの外部から
 IPではなくドメインでアクセスしてもらって同様の問題が起こるか確認してもらう。
 (ドメインとDNSの設定はOKですよね?)

やはり、外部からでも同様な結果でした。ドメインはダイナミックDNSサービスを利用しています。

・該当のサーバマシン内でよけいなネットワークサービスが動作していないか確認する。
 proxyサーバとか。

はじめは、直接サーバーがインターネット直接接続していましたので、DHCPサーバー、squidを使っていました。
現在は、ルーター経由になっていまして、それでも、同じ結果でした。

・HTTPヘッダの送受信ログをとってcookieが正常にやり取りされていない部分を
 見つける。

[02/Oct/2003:06:40:44 +0900] "POST /cgi-bin/cargo.cgi HTTP/1.1" 302 358 "
[02/Oct/2003:06:40:44 +0900] "GET /cgi-bin/cargo.cgi? HTTP/1.1" 200 3114 "
[02/Oct/2003:06:40:52 +0900] "POST /cgi-bin/cargo.cgi HTTP/1.1" 302 358 "
[02/Oct/2003:06:40:52 +0900] "GET /cgi-bin/cargo.cgi? HTTP/1.1" 200 2812 "
[02/Oct/2003:06:40:56 +0900] "GET /cgi-bin/cargo.cgi? HTTP/1.1" 302 358 "
[02/Oct/2003:06:40:59 +0900] "GET /cgi-bin/cargo.cgi? HTTP/1.1" 200 2812 "-" 
[02/Oct/2003:06:41:00 +0900] "GET /cgi-bin/cargo.cgi? HTTP/1.1" 302 358 "-" "
[02/Oct/2003:06:41:02 +0900] "GET /cgi-bin/cargo.cgi? HTTP/1.1" 200 2812 "-" 

サーバー起動直後は、cargo.cgiを動かすと、POST,GETが繰り返されバスケットがある程度利用できます。
しかし、途中から GETが多くなり、バスケットが利用できなくなります。すみません、私の言っていることは、要領を得ているでしょうか?


ショッピングバスケットさえ動作すればよいのでしたら、cookieを使用せずhidden渡しで
 情報のやり取りをするようにCGIを改造する。

今後、試してみようと思っています。

誠に、身勝手なお願いですが、助言をお願いします。
質問者 tanaka  [削除]  投稿日 10/30(木) 07:58:17
問題が解決しました。
理由は、よく分かりませんが、mod_perlの使用を取り止めたら、
cargo.cgiが、正常に作動するようになりました。
お手数をお掛けしました。また、ありがとうございました。

このページは終了したので返信(回答)は書きこめません
 


Web裏技