CGI-BBS > SO−HO > ショッピングバスケット > Iモード専用バスケットプロである携帯の機種がエラー


カレッヂ
カレッヂ


質問者 みっちゃん  投稿日 5/11(金) 04:46:11
初めて投稿します。
ショッピングバスケットプロV5IMODE版(V5.05i)を使用して通販をしています。
さて、お聞きしたいのはドコモのある機種でカゴに入れるをクリックするとエラーが出る
というお客様の苦情があるのです。
最初は、時間帯等で携帯の中継点の混雑や置いているサーバーの負荷の問題だと思っていたのですが、実際、エラーが出る(商品が購入できない)というお客様から機種を聞くと皆、同機種なんです。
ドコモの全機種で動作確認をした訳ではないのでその機種だけかどうかは分かりませんが、
PC,Jフォン、ドコモのNシリーズ(N502it、503i)、D209i、SO209i
では正常に動くみたいです(不具合は報告されていません。)
ちなみに不具合の起こる機種はドコモのP209isです。
なにか他の機種と違いがあるのでしょうか?それとも、私のプログラムの組み方に問題があるのでしょうか?

当ページURL http://www.interq.or.jp/blue/noble/icargo/

回答者 しあわせのツボ  [削除]  投稿日 5/11(金) 19:10:11
手元に現物がないので見当をつけるしかありませんが…
エラーはCGIのエラーメッセージですか、それとも端末側のエラーですか?
P系の他機種(P502i等)では大丈夫なのですか?

以下のようなHTMLを書いてアップし、そこに該当機種でアクセスしてもらい、ボタンを押してエラーが出るかを調べて下さい。
これでエラーが出れば端末のバグです。

<html><head><title>松下チェック</title></head>
<body bgcolor="white">
<form method="POST" action="実在する任意のURI">
<input type="submit" name="submit" value="動作確認">
</form>
</body></html>
回答者 みっちゃん  [削除]  投稿日 5/12(土) 04:47:01
すいません。返信が遅くなりました。
しあわせのツボさん回答ありがとうございます。
CGIか端末のどちらのエラーかを書いてませんでした。すいません。
実際、問い合わせ等をして貰うためにCGIのメールフォームを設置しているのですが、
その不具合のでるP209isでもフォームは送られてくるので、端末のエラーではないと思います。
ちなみにP502iで買われている方が見えないので、すべてのPシリーズでエラーがでるかはわかりません。
あと、調べてみたのですが、私のプログラムの組み方が問題かもしれません。
見本の組み方を見ると、

■--<icargo>
        |
        +--[icargo.cgi]
        |
        +--[menu.cgo]
        |
        +--[商品ファイル.cgo]
        |
        +--<ktmp>
        |

となってますが、私の通販(ちなみにビデオですが)の場合、品目が多いので、下記の用に組んでます。

■--<icargo>
        |
        +--[icargo.cgi]
        |
        +--[menu.cgo]   ・・・・・・・・・・・・・・・・・・・・・ ジャンルの選択メニュー(ビデオ・DVDとか)
        |
        +--<menu01>    
        |     |
        |     +--[menu01.cgo] ・・・・・・・・・・・・・・・ ビデオメーカーなどの選択メニュー
        |     |
        |     +--<menu01>
        |     |     |
        |           +--[menu01.cgo]・・・・・・・・・・ メーカーのシリーズなどの選択メニュー
        +--<ktmp>   |       |
                            +--<menu01>
                            |     |
                                  +--[menu01.cgo]・・・商品リストメニュー
                                  |
                                  +--<menu01>
                                  |     |
                                        +--[商品ファイル.cgo]
                                        |

この組み方で、Jフォン・PCなどではエラーは出ませんが、
Iモード用エミュレートソフト(IモードTOOL改)などでエミュレートして見ると、
例えば、2001年5月12日11時59分59秒にリストを見たとして、

最初の商品リストのアドレスは、
http://-----------------/icargo/icargo.cgi?form=menu
まず、ジャンルを選ぶとアドレスは、
http://-----------------/icargo/icargo.cgi?_order=20010512115959&form=menu01/menu01
次にメーカーを選んだ次点で、
http://-----------------/icargo/icargo.cgi?_order=20010512115959&form=menu01/menu01/icargo.cgi?_order=20010512115959&form=menu01/menu01/menu01
となります。
リンクの仕方が絶対パスを指定しないからこの状態になると思いますが、
この状態だと商品にたどり着くまでにアドレスの文字数のエラーになってる可能性もありますし、
商品にたどり着いたとしても、カゴにいれた時に「商品が見つかりませんでした」というエラーになります。
やはり、この組み方が邪道なんでしょうか?
回答者 しあわせのツボ  [削除]  投稿日 5/12(土) 23:38:16
端末に表示されるのが、端末とCGIのどちらが返したエラー画面なのか、を知りたかったのですが。

この構成でいくと、商品リストに辿り着いた時点でアドレスが201文字になりますね。
iモードでは「アドレス欄は200バイト以内」となっているので、エラーになっても文句は言えません。
組み方を考え直した方がよいでしょう。
回答者 みっちゃん  [削除]  投稿日 5/13(日) 01:45:47
すいません。回答ありがとうございます。
ごめんなさい。その機種を持ってる人と連絡が取れない物ですから、
やはり、そうですよね。
で、リンクを絶対パスに指定すればアドレスの文字数は回避できると思うのですが、
例えば、上の組み方で絶対パスでリンク先を指定して商品までたどり着いたとして、
エミュレータ−で見てみるとアドレスが、

http:/---------/icargo/icargo.cgi?_order=20010512115959&form=menu01/menu01/menu01/商品ファイル.cgo

この時にカゴに入れるとアドレスが、

http://---------/icargo/icargo.cgi?_order=20010512115959&form=menu01/menu01/menu01/商品ファイル/icargo.cgi

となってしまいエラー(商品が見つかりませんでした)になってしまいます。

ただ、この状態でアドレスを

http://---------/icargo/icargo.cgi?_order=20010512115959&form=menu

にしてやると、金額も入ってるし、商品を確認してみるとちゃんと出力します。
この辺の構造をうまく変えてやればクリアー出来そうな気がします。
と言ってもあくまでもエミュレータ−でやってるので正確とはいえませんが…

やっぱり、まず、しあわせのツボさんがおっしゃったように
まず、その機種をもった人にどんなエラーメッセージが出るか確認してから、
考えたほうがいいですよね。すいません、確認してからもう一度ご報告します。







回答者 みっちゃん  [削除]  投稿日 5/13(日) 15:07:18
追加の報告です。一応、その機種を持った方から報告がありまして、
カゴに入れるをクリックすると、「エラー 商品がみつかりませんでした」のエラーメッセージが
出るそうです。

ちなみに、何も商品を入れない状態で、「カゴの中を見る」をクリックすると、
「かごの中には何も入っていません」のメッセージが表示されるようです。

やはり、上のエミュレーターでやったような結果に似ているので、同様に現象が出ているのでしょうか?

返信(回答)する


Web裏技