いろいろお手を煩わせてすみませんでしたが、
ようやくhttpdを使うことができました。
お恥ずかしい話、オプションの設定項目ばかりに気をとられて、
サーバアドレスは何なのか、まったく頭にありませんでした。
ファイル名を入れればいいように思っていて・・・
それ以前に、「ローカルサーバ」の意味がわかっていなかったのだと気づきました。
ここに書くのも恥ずかしい話ですが、
私ほどではなくても、あまり知識のない方もここに来られることもあるかと思い、
せめて、ご報告しておこうと思います。
本当にありがとうございました。
hollya さん、
それで、perlsearch.cgi を直接URLで指定してやるとちゃんと動作して表示されるのですよね?
そうではなくてフォームで動かすと正常だといううのなら perlsearch.cgi の問題だと思います。
いずれにしてもその HTMLファイルと perlsearch.cgi など関係するファイル一式をメールで送ってください。
前投稿が少し変になっていました。
「##### 検索結果出力」の最初の4行が入りませんでした。
書式設定なので無視してください。
説明が少し違っていました。すみません。
まず、トップフレームに検索画面に入るボタンがあります。
<a href="../perlsearch.cgi" target="main"><img src="images/header_btn_keyword.gif" width="120" height="35" border="0"></a>
mainフレームには検索窓と「検索」ボタンが出てくるはずですが、ここの時点で、mainフレームに呼び出されるはずのperlsearch.cgiがダウンロードになってしまいます。
perlsearch.cgiのメソッドに関する記述は次のとおりです。
初期設定では
$method = 'POST';
##### フォームデータ受け取りよろしくお願いします。
if ($ENV{'REQUEST_METHOD'} eq 'POST') {
read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'});
@pairs = split(/&/,$buffer);
}
else {
@pairs = split(/&/,$ENV{'QUERY_STRING'});
}
##### 検索結果出力
print "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" WIDTH=\"100%\">\n";
print "<TR><TD WIDTH=\"20%\" NOWRAP>\n";
print "<FORM METHOD=\"$method\" ACTION=\"$thisfile\">\n";
print "<INPUT TYPE=\"HIDDEN\" NAME=\"action\" VALUE=\"search\">\n";
print "<INPUT NAME=\"key\" VALUE=\"$in{'key'}\" SIZE=\"30\">\n";
print "<INPUT TYPE=\"SUBMIT\" VALUE=\"検索\"> \n";
hollya さん、
サーチボタンのところの form で action をどのように指定しているかをお知らせ下さい。
たとえば、<form method="POST" action="...." ...> の action="...." をどのようにしているか、という意味です。form 以下を全部そのまま書いてもらった方がいいかもしれませんが。
こんにちは。hollyaと申します。
AN HTTPDをDLいたしました。
マニュアルや様々なサイトでのやり取り、FAQなど参考に、なんとか、cgiをオフラインで動かすことができるようになりましたが、ひとつ、質問させてください。
自分のパソコンのフォルダに保存したcgiファイルのURLをIEのアドレス欄にに入力すれば、ちゃんと動作します。が、実際のサイト同様、サーチボタンをクリックしてcgiを動作させようとするとダウンロードになってしまいます。
実際のサイトでは、サーチボタンとcgiを表示するフレームは別になっています。
こんな説明でおわかりになるでしょうか。
cgiの動作確認はできたので、充分ではあるのですが、今後のこともあるので、質問いたしました。
ダウンロードになってしまうときの対策として、
バッチファイルのMIME を”text/plain”にしました。
・「CGIを実行する」にチェックがない
・拡張子「.pl,.cgi」の左にチェックがない
・実行プログラム perl の右側の「般」にチェックがない
の3点も確認しました。問題ないです。
ほかにお伝えする必要がある点はありますでしょうか。
基本的なことがわかっていないかもしれませんが、よろしくお願いします。