- ベストアンサー
問い合わせフォームの不具合について
- ホームページ屋さんのつぶれにより、預けていたホームページを返されましたが、1つのサイトの問い合わせフォームに不具合が発生しています。
- 問い合わせフォームを記入して「確認」ボタンを押すと、Internal Server Errorが表示され、正常に使用できません。
- サーバへはいつでも入れるため、問題の解決に取り組むことができます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
まず、正常に動作していたものが変更したら動かなくなったという事で、その変更に問題があるという事は間違いないでしょうね。 元の『正常に動作していた』という、問い合わせフォームのファイルは残っていますか? 残っていれば解決が早い可能性が高いです。 CD-Rで貰っていれば、そこから再度パソコン内にコピーすればいいと思います。(原本)とでも名前を付けて、更新しないようにしておくと良いですね。 また、変更点は問い合わせフォームのみでしょうか? 同時に複数個所を変更していると、問い合わせフォームの間違いだと決めつけて問題点を探しても見つからず、最終的に別のファイル(フォルダ)に加えた変更が原因だったという事が見つかるまでに無駄に時間を費やしてしまうかも知れません。 まずは、新旧のファイル比較をする際に便利なソフトを紹介します。 二つのファイルを比較して、変更された箇所を色着けで表示してくれます。 変更箇所が原因で問題が発生した場合に役に立ちます。 http://www.vector.co.jp/soft/win95/util/se113286.html http://www.vector.co.jp/soft/win95/util/se381869.html 次に、このあたりが怪しいと思われる点を書いてみます。 捕捉で書かれていた、formタグの中の以下の部分です。 action="php/postmail/postmail.cgi" まず、ここを書き換えていないかですね。 書き換えていた場合は、書き間違いなどで対象のファイルが存在しない可能性が高いです。 書き換えていない場合、サーバー上で言えば例えば "[public_html]/php/postmail/postmail.cgi" にファイルが存在するかどうかを確認する必要があります。 [public_html]の部分は、そのサーバーによって変化します。 途中のフォルダ名、[php]や[postmail]なども変更されていないか、大文字小文字を変更していないか[PHP]/[PostMail]など、ファイル名も同様ですね[PostMail.cgi]など。 新サイト完成まで以下のように動かしたいといった形で、フォルダ構造を変更しなかったかも重要です。 "[public_html]/[old]/**********"(完成まで公開している旧サイト) "[public_html]/[new]/**********"(完成までのテスト用) 他に確認する点は、[確認]ボタンが <input type="submit" value="確認" /> であればOKですが、 <input type="button" value="確認" onclick="xxxxxxxxx" /> となっていないか。 後者では、クリック時にJavaScriptで画面遷移しているので、 <form action="xxxxxxxxxxxxx"> は無視されます。 とにかく、動かなくなる前と後でどこをどう変更したか、それを考えてみれば解決すると思います。 あと、そのエラーメッセージが出ている際の、ブラウザのアドレスバーのURL ここも良く見てください。 本来であれば http://******.co.jp/php/postmail/postmail.cgi を見に行かなければならないのに http://******.co.jp/abcde/php/postmail/postmail.cgi を表示しているなどがないか、など。
その他の回答 (2)
- BellBell
- ベストアンサー率54% (327/598)
404 Not Foundですから、ファイルがないんでしょうね。 [確認]ボタンのリンク先のファイル名を調べる方法はわかりますか? 直前の <form action="./*****.php"> に書かれているか、JavaScriptなどで書かれていると思います。 そこが相対パスであれば、すべて返してもらったという事で動作すると思いますが、"http://"から始まるか、"/"から始まるHTTPサーバー上の絶対パスで書かれているのではないでしょうか。 それで階層の違いにより、動作しないという現象が発生しているのかも知れません。 もしくは、ディレクトリ名を変更したため発生しているか。 個人的には、別の業者さんを探すことを勧めます。
補足
回答ありがとうございます。 業者から引き取った直後は正常でしたが 新しい問い合わせフォームをdreamweaverでアップロード してからおかしくなってしまいました。 私が素人過ぎてイマイチ理解できませんが フォームのソースは以下のようにはじまっています。 <form name="form1" method="post" action="php/postmail/postmail.cgi"> 引き続きご教授お願い致します。
- moon_night
- ベストアンサー率32% (598/1831)
単なるサーバエラーならばパーミッションが違うとか、必要なファイルがないとかが考えられます。 詳しくはサーバーのerror logを見れば分かるかもしれません。
お礼
とてもわかりやすい解説ありがとうございました。おかげで復旧する事に成功しました。どうやら原因はタグの記述ミスだったようです。 本当に助かりましたm(__)m