CGIでフォームメールを作ったのですが、1回目だけサーバエラーが起こるとの指摘を受けました。
私の方でもローカルとサーバにアップしてからもCGIのテストは行ったのですが、ローカルで動かした後だったからか、1度もエラーは表示されず、原因が分かりません。
エラーが出た後、いったんブラウザを閉じてもう一度開き直すと動作するようです。
これの対処法をご存じの方、教えていただけますでしょうか。

A 回答 (1件)

CGIの仕様がわからないのでなんとも言えないのですが、一回目がエラーで、二回目にエラーが起きないというのは、基本的にセッションの概念のないCGIでは不思議な現象ですよね。


もしかして、2重投稿防止の機能がついていて、そこで何かエラーがおきているとかですか?
せめて、どういうCGIで、どんなサーバエラーなのか、ウェブサーバのエラーログにはどういうものが残っているのか教えていただかないと。。。。

この回答への補足

Perlのパスの問題じゃないかといわれ、確かにパスが間違っていたのでそれを直したら、エラーが出なくなったと言われました。でも、自分のPC以外じゃないと確認しようがないので、ホントにエラーが出なくなってるのかも分かりません。
エラーの状態は500サーバーエラーのようです。これ以外は分からないので、問題のCGIのURL載せておきます。http://komenuka.yonet.jp/

補足日時:2002/03/30 01:16
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

> 一回目がエラーで、二回目にエラーが起きないというのは、基本的にセッションの概念のないCGIでは不思議な現象ですよね。

そうなんです。私もこの症状は初めてなのでとまどっています。
何か思いつく点などありましたら、教えてください。よろしくお願いします。

お礼日時:2002/03/30 01:24

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q404ERROR の 意味の統一はいつからですか?

こんばんは~! ネットワークのカテゴリーのエキスパートな方々!回答宜しく~^^

質問はタイトルの通りなのですが、『404 ERROR』はいつ頃から共通に利用されてるのですか?
仮に最初に統一した人がいるのなら、使用許諾や使用に当っての利点若しくは、お金が来てるの?

Aベストアンサー

HTTPエラーコード404。
Not Found:要求されたURIに対するマッチする情報が見つからない(RFC1945)
通信規約上の約束です。

RFC(Request For Comment:ご意見お待ちしてます)はインターネット標準案と標準規約を記述したメモで、誰でも参照して利用することが出来ます。

いつから?と問われればRFC1945に制定されたメモが発表された1996年からです。

Q特定CGI「だけ」が、ローカル環境で実行できない原因について。(POSTでのフォーム送信はローカル実行不可?)

こんばんは。

サーバでは問題なく動くCGI(Perl)が
ローカルPC環境で動きません。
ローカルのHTMLファイルから呼び出すと
CGIファイルがテキストとして表示されます。

しかし、パス関係の間違いはありません。
動かないCGIファイルを「print "Hello!";」などの
単純な文章に書き換え、同じHTMLから呼ぶと動きます。

また、「Perl文法チェックサイト」で
チェックしても、文法間違いはありません。
ほかにどういった原因が考えられますでしょうか?

----------------------------------------
なお、ローカルのHTMLでは
「form」にラジオボタンを配置、
「submit」で「POST」送信したうえで
その結果によってHTMLを生成出力するようにしています。

ここらへん、まったくよく分かっていないのですが
もしかして、こういう送信はローカルでは
実行できないとかあるのでしょうか?
送信部分を削って、HTML出力だけのCGIにすると動きます。

繰り返しますがサーバ上では動作しています。
よろしくお願いいたします。

----------------------------------------
◆環境◆ WindowsXP IE6.01 httpd 1.42m 
ActivePerl(バージョンの見方が分かりません)

こんばんは。

サーバでは問題なく動くCGI(Perl)が
ローカルPC環境で動きません。
ローカルのHTMLファイルから呼び出すと
CGIファイルがテキストとして表示されます。

しかし、パス関係の間違いはありません。
動かないCGIファイルを「print "Hello!";」などの
単純な文章に書き換え、同じHTMLから呼ぶと動きます。

また、「Perl文法チェックサイト」で
チェックしても、文法間違いはありません。
ほかにどういった原因が考えられますでしょうか?

----------------------------------------
...続きを読む

Aベストアンサー

><form action="http://127.0.0.1/~***/***/cgi-bin/test03.cgi">としたら動く

よくある勘違いだと思うけど、formを記述しているファイルもローカルサーバー経由
(http://127.0.0.1/~***/***/xx.htmlなど)で呼び出してないと、
単なる、ファイル表示では、file:///d:/xxx..../xx.html というアドレスになり、
相対アドレス指定では、file:///d:/xxx..../test03.cgiを呼び出すことになるのでテキスト表示になってしまいます。

Q404 Error Not Found と出てしまします

初めてホームページを作ろうとしている者なので、専門用語ではなく、わかりやすく教えて下さいませm(__)m
「HETEMULU」を使って、ホームページを作り、半年かけて、やっと完成しました^^;
そして、無料だと聞いたので、「忍者ホームページ」サイトで、
「NINJA TOOLS」?という所で、IDやパスワードを取得し、なんとか出来たと思ったのですが、

登録されているあなたのURL

とい所をクリックすると、

404 Error Not Found と出てしまします。

何故ですか??

色々触ってみたけど、わかりません^^;

もう一つ質問ですが、無料素材屋さんから、画像をダウンロードして、
「名前をつけて保存」と書いてあったので、例えば「鉢植え」と保存しました。「HETEMULU」で画像の挿入をクリックすると、「鉢植え」の後ろに.gifと付き、問題ないように思っているのですが、日本語で保存しているから、404 Error Not Found と出てしまうのでしょうか?それともそれはまったく関係ないのでしょうか?
慣れていらっしゃる方にはおバカな質問かもしれませんが、どうかどなたか教えて下さい!説明が足りなければ補足しますので、どうかよろしくお願いします!!!

初めてホームページを作ろうとしている者なので、専門用語ではなく、わかりやすく教えて下さいませm(__)m
「HETEMULU」を使って、ホームページを作り、半年かけて、やっと完成しました^^;
そして、無料だと聞いたので、「忍者ホームページ」サイトで、
「NINJA TOOLS」?という所で、IDやパスワードを取得し、なんとか出来たと思ったのですが、

登録されているあなたのURL

とい所をクリックすると、

404 Error Not Found と出てしまします。

何故ですか??

色々触ってみたけど、わか...続きを読む

Aベストアンサー

作成したHTMLファイルをサーバーにアップロード(転送)済みで
しょうか?
トップページは必ず「index.html」または「index.htm」である
必要があります。
「index.htm」にする場合は、元からある「index.html」を削除
(※下記ページ参照)
http://www.ninja.co.jp/faq/a/37/

おすすめのFTPソフト
「FFFTP」
http://www2.biglobe.ne.jp/~sota/

日本語ファイルは表示されない場合もあるので、英数字のファイル名
が推奨されています。
http://www.ninja.co.jp/faq/a/79/

Q特定海外サーバでの、CGIエラー

日本でdownloadしたメールフォームが、ある特定の海外サーバで動きません。(Godaddyという会社です)perlのパスも、SSLのパスも、ちゃんと確認しました。本文にprint "Content-type: text/html; charset=Shift_JIS\n\n";も、付け加えて文字コードの設定もしてあります。permissionも何回も変えて確認しています。ほかのサーバでは、ちゃんと動いてくれます。なぜでしょう。もし、思いつく設定変更などありましたら、ご伝授いただけるとうれしいです。

Aベストアンサー

jcode.plが無いと言っています。
cgiファイルと同じ場所へjcode.plをアップロードすれば動くかと。

Q教えて下さい!なぜ【WebApp: Error 404】のページが出る?

JDK + apache + mod_webapp.so + tomcat + PostgreSQLをインストール・設定しました。

JDK     j2sdk-1_3_1_11-linux-i586
apache    apache1.3.31
mod_webapp.so
tomcat    jakarta-tomcat-4.1.30
PostgreSQL    postgresql-7.2.3

(1)
http://localhost:8080/index.jsp
【tomcat】のページが出ます。

(2)
http://localhost/
【あなたの予想に反して、このページが見えているでしょうか?】のページが出ます。

(3)
http://localhost:8080/examples/jsp/index.html
【JSP Samples】のページが出ます。

(4 問題点)
http://localhost/examples/jsp/index.html
【WebApp: Error 404】のページが出ます。
希望 → (3)と同じページが出る。

起動は tomcat → apache の順です。

なぜ【WebApp: Error 404】のページが出るのでしょうか?
教えて下さい。
お願いします。
(初心者なので出来ればわかりやすくお願いします)

JDK + apache + mod_webapp.so + tomcat + PostgreSQLをインストール・設定しました。

JDK     j2sdk-1_3_1_11-linux-i586
apache    apache1.3.31
mod_webapp.so
tomcat    jakarta-tomcat-4.1.30
PostgreSQL    postgresql-7.2.3

(1)
http://localhost:8080/index.jsp
【tomcat】のページが出ます。

(2)
http://localhost/
【あなたの予想に反して、このページが見えているでしょうか?】のページが出ます。

(3)
http://localhost:...続きを読む

Aベストアンサー

設定内容が書いていないので
いかんともあれなんですが。。。(^^;
以下の手順をご確認下さい。

1.mod_webapp.soをapacheのlibexecに配置している。

2.apacheのhttpd.confに以下を記述している。
------------------------------------------------------
LoadModule webapp_module libexec/mod_webapp.so
AddModule mod_webapp.c

<IfModule mod_webapp.c>
WebAppConnection warpConnection warp localhost:8008
WebAppDeploy examples warpConnection /examples
WebAppInfo info
</IfModule>
------------------------------------------------------

3.tomcatのserver.xmlに以下を記述している。
------------------------------------------------------
<Service name="Tomcat-Apache">

<Connector className="org.apache.catalina.connector.warp.WarpConnector"
port="8008" minProcessors="5" maxProcessors="75"
enableLookups="true" appBase="webapps"
acceptCount="10" debug="0"/>

<Engine className="org.apache.catalina.connector.warp.WarpEngine"
name="Apache" debug="0">

<Logger className="org.apache.catalina.logger.FileLogger"
prefix="apache_log." suffix=".txt"
timestamp="true"/>

<Realm className="org.apache.catalina.realm.MemoryRealm" />

</Engine>

</Service>
------------------------------------------------------

4.tomcat、apacheの順で再起動

どう?

設定内容が書いていないので
いかんともあれなんですが。。。(^^;
以下の手順をご確認下さい。

1.mod_webapp.soをapacheのlibexecに配置している。

2.apacheのhttpd.confに以下を記述している。
------------------------------------------------------
LoadModule webapp_module libexec/mod_webapp.so
AddModule mod_webapp.c

<IfModule mod_webapp.c>
WebAppConnection warpConnection warp localhost:8008
WebAppDeploy examples warpConnection /examples
WebAppInfo info
</IfModule...続きを読む

Qローカルではうまくいってたのに、サーバにあげるとエラーになります、これってどうして?

 自分のPC上では、うまく作動していたのに、サーバにアップしてみるとエラーがでてきます。これってなぜなんでしょうか?
 perlの書き方を変えると動くって聞いた事があります。それってなぜでしょうか。
また、書き換えるコマンド、関数ってだいたい決まってると思うんですが、どういうコマンドが引っかかるんでしょうか?
 困ってます。

Aベストアンサー

CSVファイルのパーミッションを666にしてみてはどうですか?
644でも動くと思うので、期待薄ではありますが・・・・
どれも、間違っていないとなると厄介ですね。

絶対に動く!スクリプトを一つ組んで、アップロードして
稼動するか確認してみたらどうですか?
それを設定して、動けばプログラム中のコマンドが引っかかっている事になりますし、動かなければ、サーバーの設定に間違いがあると言う事になります。

絶対に動くスクリプトをサンプルで載せておきます。
必要な部分を書き換えてやってみてください。

あと、CGIがリードする、CSVファイルは必ずありますか?
もし、無かったら、ファイルオープン時にエラーになりますよ。(書込みは自動生成される)


********サンプル*******
#!/usr/bin/perl

require 'cgi-lib.pl';

######ファイルオープンチェック#####このブロックは消しても良い

open (FILE,"ファイル名");
flock(FILE,2);

flock(FILE,8);
close(FILE);
#######################################
print "Content-type: text/html\n\n";
print <<"EOF";

<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<TITLE>絶対に動く!</TITLE>
</HEAD>
<BODY>
動いたよ!
</BODY>
</HTML>
EOF
exit ;

CSVファイルのパーミッションを666にしてみてはどうですか?
644でも動くと思うので、期待薄ではありますが・・・・
どれも、間違っていないとなると厄介ですね。

絶対に動く!スクリプトを一つ組んで、アップロードして
稼動するか確認してみたらどうですか?
それを設定して、動けばプログラム中のコマンドが引っかかっている事になりますし、動かなければ、サーバーの設定に間違いがあると言う事になります。

絶対に動くスクリプトをサンプルで載せておきます。
必要な部分を書き換えてやってみてく...続きを読む

QError!! HTTP status code=404

Error!! HTTP status code=404

いつもお知恵拝借、ありがとうございますm(_ _)m

さて、最近当社で中古XP (prof.)パソコンを2台導入しました。sp3にupしております。

取引先のサイトにアクセスし、IDとpasswordでログインして「取引明細」をダウンロードしようとしましたが、ファイルのアイコンをクリックしたら上記のようなエラーメッセージが出ます。

2台とも同じエラーが出ます。

「教えてgoo」や他のサイトで検索してもなかなか、コレというページが見あたりません。

以前からあるもう一台のXPからはアクセスでき、見ること・プリントすることが出来ます。

アクセスしようとしたファイルは拡張子が".ilf"で、検索の結果どうやら電子帳票のファイルのようです。

このようなトラブルは初体験なので、皆さんのお知恵を是非拝借したいと思います。どうかよろしくお願いいたしますm(_ _)m

Aベストアンサー

ILFのことについてはわかりませんが、単純にHTTP のエラーコード404は、
Not Foundですね。

要するに、指定のページやファイルが見当たらないということ。

先方のシステム内で、指定されたファイルがないということではないですか?
それを先方のWEBサーバーと連携したILFのシステムが応えていると・・・

先方の担当者に聞いた方がいいと思いますが。
特定のシステム内のことですので、担当者以外は本当のことはわかりません。

QCGIへのアクセスが集中した場合にアクセスを一時的に制限したり、エラーメッセージを表示したり、予備のCGIに飛ばす方法。

CGIへのアクセスが集中した場合に、メッセージを表示し、アクセスを制限するサイトなどを目にしますが、どのようにして実現しているのでしょうか。例えば、flockなどの排他処理によって、一定時間内は1ユーザーからのアクセスしか受け付けないといった処理は可能かと思いますが、3ユーザーまでのアクセスのみ受け付けるといった方法はあるのでしょうか。

また、サーバダウンなどにより、CGIが動作しない場合に、エラーメッセージを表示したり、予備のCGIに飛ばす方法はありますでしょうか。
例えば、Aサーバのmain.cgiを動作させたい場合に、まずBサーバのpre.cgiにとばし、Bサーバのpre.cgiからAサーバのmain.cgiへのアクセスを試み、Aサーバがダウンしている為にアクセスに失敗した場合に、Bサーバ内のerroor.htmやsub.cgiに飛ばすことなどはできるのでしょうか。

できれば、CGI(perl)で実現したいのですが、有効な方法がございましたら、恐れ入りますが、教えていただけないでしょうか。もしも可能でしたら、簡単なサンプルのスクリプト等を添えていただけると大変助かります。何卒よろしくお願いいたします。

CGIへのアクセスが集中した場合に、メッセージを表示し、アクセスを制限するサイトなどを目にしますが、どのようにして実現しているのでしょうか。例えば、flockなどの排他処理によって、一定時間内は1ユーザーからのアクセスしか受け付けないといった処理は可能かと思いますが、3ユーザーまでのアクセスのみ受け付けるといった方法はあるのでしょうか。

また、サーバダウンなどにより、CGIが動作しない場合に、エラーメッセージを表示したり、予備のCGIに飛ばす方法はありますでしょうか。
例えば、Aサー...続きを読む

Aベストアンサー

>、FastCGIやmod_perlというのはどのようなものでしょうか。

Googleあたりで調べれば、かなりヒットするので、まずは調べてみて下さい。。。
↓本家
http://www.fastcgi.com/
http://perl.apache.org/

WWWサーバに組み込む形になるので、独自サーバじゃないと使えませんけど。
レンタルサーバの中には、使えるところもあるらしいですよ。

>大変申し訳ございませんが、参考URLやサンプルなどご存知ないでしょうか

ないと思います。(^^;
というか、Aサーバ上に常駐(Unixならcronか)させたプログラムに、定期的にBサーバに通知させようと考えたわけですが、サンプルのようなものはどこかにあるのかもしれませんけど、見つけるのは大変でしょう。

いずれにしても、BサーバのCGIでAサーバの状態を取得し、その後AサーバのCGIを呼び出すのだとすると、今度はBサーバの負荷が高くなります。
負荷を軽減したり、サーバダウンした場合の対処方法として色々講じようとするのも良いのですが、あまり色々考えすぎると、返って別の部分で負荷が高くなったり、広げすぎて収拾がつかなくなったりするものです。
個々のCGIの処理を軽くするようにするなど、CGI側の工夫で回避できる部分は多いので、そちらがまず先かと思います。(余分な処理をさせない、より速いアルゴリズムを選ぶ、2度の処理に分けられるなら2つのCGIに分け2ステップで処理するetc)

>、FastCGIやmod_perlというのはどのようなものでしょうか。

Googleあたりで調べれば、かなりヒットするので、まずは調べてみて下さい。。。
↓本家
http://www.fastcgi.com/
http://perl.apache.org/

WWWサーバに組み込む形になるので、独自サーバじゃないと使えませんけど。
レンタルサーバの中には、使えるところもあるらしいですよ。

>大変申し訳ございませんが、参考URLやサンプルなどご存知ないでしょうか

ないと思います。(^^;
というか、Aサーバ上に常駐(Unixならcronか)させたプログラ...続きを読む

QHTTP 404 error

Vine Linux,Tomcat5で
(1)webapps/conf/server.xml
...
<HOST>
<Context path="/apress" docBase="apress" debug="0" reloadable="true" />
...
(2)webbapps/apress/login.jsp
...
<table width="500" border="0" cellspacing="0" cellpadding="0">
<form name="loginForm" method="post" action="servlet/chapter2.login">
<tr><td width="402"><div align="right">User Name: </div></td>
<td width="399"><input type="text" name="username"></td>
</tr>
...
(3)webapps/apress/WEB-INF/web.xml
...
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>chapter2.login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
...
(4)webapps/apress/WEB-INF/classes/chapter2/login.java
package chapter2;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

public class login extends HttpServlet {
private String target = "/welcome.jsp";
private String getUser(String username, String password) {
// Just return a statice name
// If this was reality, we would perform a SQL lookup
return "Bob";
}
....
(4)現象:
http://xxx.xxx.xxx.xxxx:8080/apress/login.jsp
でsubmit action 後、次のエラーが出てきました:
HTTP 404 error,
The requested resource (/apress/servlet/chapter2.login) is not available.

この問題はどこにあるでしょうか教えてください。

Vine Linux,Tomcat5で
(1)webapps/conf/server.xml
...
<HOST>
<Context path="/apress" docBase="apress" debug="0" reloadable="true" />
...
(2)webbapps/apress/login.jsp
...
<table width="500" border="0" cellspacing="0" cellpadding="0">
<form name="loginForm" method="post" action="servlet/chapter2.login">
<tr><td width="402"><div align="right">User Name: </div></td>
<td width="399"><input type="text" name="username"></td>
</tr>
...
(3)webapps/apress/WEB-INF/web....続きを読む

Aベストアンサー

パスの指定が間違ってるからだと思いますが。

/apress/servlet/chapter2.login

このパスにちゃんと存在してますか?

Q問い合わせフォームを作成したいのですが、フリーCGIでデザイン等ののカスタムが出来るものをご存じないでしょうか?

初めまして。
現在持っているホームページに自作で問い合わせフォームの作成を考えております。

ただ、簡単なHTMLなどは理解できますが、詳しいプログラムの種類やデータベースについては全くの初心者です。

そこで、フリーのCGIでの導入を考慮中です。
デザインの変更やテキストボックス・セレクトボックスの項目などもカスタムの可能な素材をご存じの方がいらっしゃいましたら、教えて頂ければ幸いです。


宜しくお願い致します。

Aベストアンサー

HTMLが問題ないのであれば
デザインやフォームはHTMLで作成し
受け渡し先のcgiを設置するのが一番簡単だと思います。

参考URLにオススメのものを記載します。

参考URL:http://www.kent-web.com/data/postmail.html


人気Q&Aランキング