• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:送信されたはずのフィールドの値が読み取れない?)

フィールドの値が読み取れない?

このQ&Aのポイント
  • フィールドに入れた値が、サブミットボタンでCGIプログラムに送信されているはずですが、どのフィールドの値も読み取れず、登録処理ができません。
  • 値が読み取れない原因は何でしょうか?どなたか御教示下さい。(これでおわかりいただけるでしょうか?)
  • フィールドの値が送信されない問題が発生しています。登録処理が正常に行われないため、原因を解決する必要があります。

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

  • ベストアンサー
  • pica_zip
  • ベストアンサー率67% (19/28)
回答No.3

こんにちは。 前にサーバについて質問したのは、もしや自宅サーバでそちらに問題があるかも?と思ったからです。 でもレンタルならその心配はありませんね。 スクリプトの全文を見せてもらえるとアドバイスできるかも知れません。この掲示板に書き込むには長すぎるようならどこかのURLに掲載してみてください。 このCGIを呼び出すフォームのHTMLがあればそれも必要です。

tonka729
質問者

お礼

pica zip さま、ご返事感謝します。実は、このCGIは第三フレームのframe3.htmの中で呼び出しています。一方、第一フレームのframe1.htmでは、JavaScriptで、二つのフレームをまたがるこのフォームkdicFORMのフィールドstichwort の中に値を入れたり、その値を変えたりするプログラムを動かしています。そこで私の予想ですが、たぶんこれが原因で、たとえstichwort というフィールドの値をcgiに送信しても空の送信しか行われないのかもしれない、と思っています。 そこで、プログラムを書き換えたいので、助言をいただきたいのですが、 (1)複数のフレームをまたがって一つのフォームを設置できるか? (2)一つのフレーム内に二つのフレームを置けるか?(置くと「オブジェクトでサポートされていないプロパティあるいはメソッドです」というエラーが出る?) について御教示頂けますでしょうか。。

tonka729
質問者

補足

助言をいただきたい文章の(2)に間違えがありましたので訂正します。 (2)一つのフレーム内に二つのフォーム(!)を置けるか? でした。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • pica_zip
  • ベストアンサー率67% (19/28)
回答No.2

CGIの基礎については、わかりやすい書籍やサイトがたくさんあるのでそちらを参照してもらうとして、 サーバはレンタルサーバでしょうか?できればURLも。 スクリプトの配布元はどこでしょうか? またそのサーバで他のCGI(KENTさんの掲示板)などは正常に動作するのでしょうか? 情報の公開をしたくない場合もあるかと思いますので、その場合はプロな方にCGIの設置依頼をされてみたらどうでしょうか。

tonka729
質問者

お礼

pica zip 様、ふたたびレスをいただきありがとうございました。サーバーはレンタルでシーサイドネットです。 http://www.cside.ne.jp/index_kent.html スクリプトの配布元?どういう意味でしょうか? 他のCGIはちゃんと走っています。Kentさんの掲示板も全文検索wwwsrch.cgiも。弱りました。ほんとに。たぶん私のperl知識が不足しているので、このフォームが値送信不能になっているのでしょう。あー困りました。

tonka729
質問者

補足

pica zip さま!かなり書き直しました。それをしたのURLにアップしてみましたので、ご覧頂き、おかしなところをご指摘頂きたいのですが。。 http://tovalis.or.tv/document/wakaranai_script.htm たぶん、フォームのルール違反、だと思います。気が引けます。むしろJavaScriptフォーラムに行け、と言われそうで。。。。

すると、全ての回答が全文表示されます。
  • pica_zip
  • ベストアンサー率67% (19/28)
回答No.1

mod_perl とかではないですよね。 &ReadParse(*f); --> &ReadParse(\%f); という表記を試してみて下さい。 またライブラリを使わず、環境変数や標準入力を直接みて正しくPOSTされているか確認してみましたか?

tonka729
質問者

お礼

pica zip 様、お答えをいただきどうもありがとうございます。 mode_perl というのは全く存じません。 $ReadParse(\%f);では結果が出ませんでしたので、環境変数とやらを初めて見てみました。あるPerl入門者用のサイトから次のようなコードを貼り付けましたが、よく分かりません。エラーが出ました。 my $code = shift or 'sjis'; my($buf,@buf,$name,$value); if ($ENV{REQUEST_METHOD} eq "POST") { read(STDIN, $buf, $ENV{CONTENT_LENGTH}); } else { $buf = $ENV{QUERY_STRING}; } foreach (split(/&/,$buf)) { if (!/=/) { $_ .= "=1"; } ($name, $value) = split(/=/); $value =~ tr/+/ /; $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s/\r//g; jcode::convert(\$value, $code); if (defined($FORM{$name})) { $FORM{$name} = join('|||', $FORM{$name}, $value); } else { $FORM{$name} = $value; } } どのようにすればよろしいのでしょうか?初心者ですので、未知な世界のような気がして、手探り状態です。変数の確認の最終段階もよく分かりません。よろしく御教示をもう一度お願いできませんか?

すると、全ての回答が全文表示されます。

関連するQ&A