• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:HTMLのFORMからCGIを呼び出すとエラー)

HTMLのFORMからCGIを呼び出すとエラー

このQ&Aのポイント
  • HTMLにショッピングカートを設置しています。リンクからCGIプログラムを呼び出すと問題なく動作するが、formから呼び出すと動作しない。
  • ブラウザーによって振る舞いが異なり、Firefoxでは「接続がリセットされました」、IEでは「IEではこのページは表示できません」と表示される。
  • FORMの呼び出し行を1行削除するとエラーにならないが、削除するとデータが変更されなくなる。自宅サーバー環境でCGIが動作する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.1

提示されている情報が「状況」のみで「環境」に関する情報ものがないので誰も原因の推測はおろか検証もできないとおもいます。 ECのソフト、リモートサーバ環境(ローカルは提示されていますが)、サーバ側のエラー情報、などです。 とくに、サーバ側のエラーログはレンタルサーバでもCGIが動作するところなら記録されていると思うのですがいかがでしょうか。 提示されているのはブラウザのエラーで、サーバからテキストでエラーメッセージを受信しているのでHTTPヘッダ情報として解釈できずにブラウザ独自のエラーを出しているだけではないでしょうか? なんとなく、DB周りの設定ミスっぽい気がします。 ローカル側のDBにアクセスしようとして失敗しているのでは?

sacuarian
質問者

お礼

自己解決しました。外部サブルーチンに間違ったパスが残っていたのが原因でした。大変お騒がせしました。ありがとうございました。

sacuarian
質問者

補足

おっしゃるとおりだと思います。自分自身、どのように質問してよいか迷いながら、困って書き込みしてしまいました。言葉足らずの質問に返信頂いて、大変申し訳なく思っております。 以下、あらためてわかる範囲で追記いたします。 ECソフトは特に使っておりません。HTMLから、Perlで書いたCGIを呼び出しております。リモートサーバーですが、Perl V5.8、MySQLV5.0.51a、共有SSL を使用しております。 サーバ側のエラーログは確認しましたが、残念ながら記録されてないとのことでした。 エラーの状況ですが、HTMLのFormからcgiを呼び出すと、エラーが表示されるときにURLが http://127.0.0.1/...と表示されるので、私も読み込もうとしているDBか何かが間違っているのではないかと考えています。 ソースの置かれたディレクトリですが、HTMLは通常のサイトにおいてあるのですが、ここからCGIをSSL環境で実行させるために、HTML内で共用SSLの絶対パスでCGIを呼び出して実行させています。CGIが使用するデータファイルもCGIと同じ共用SSLの環境においてあります。 カートの中身を確認するためのCGIリンクでエラーが発生せず、商品をカートに入れるFormからのCGI呼び出しでエラーが発生すると言う事は、やはりデータファイルの処理で失敗している可能性が高いと考えましたが、今のところ呼び出し箇所について問題は見つけられておりません。 様々な商品ページから商品をカートに入れるため、カートのCGIから戻るときにはJavaScript:history.back() を使っています。

関連するQ&A