• ベストアンサー

リンククリックでデータを送信。

cgiでログファイルを開き、タイトル行だけを表示させています。(行数分) そのタイトルをリンクとして、クリックしたら全文が表示されるようにしたいと思い、以下のようにしてみました。 print "<TD WIDTH=200><A HREF='top_search.cgi'><INPUT TYPE=HIDDEN NAME=GYOU VALUE=$i>$FORM{'TITLE'}</A></TD>\n"; やはり、データの送信はボタン(submit)でないとダメでしょうか? リンクでデータの送信をするのはできませんか? よろしくお願いします。

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

  • ベストアンサー
  • HUTABA
  • ベストアンサー率27% (436/1611)
回答No.1

>print "<TD WIDTH=200><A HREF='top_search.cgi'><INPUT TYPE=HIDDEN NAME=GYOU VALUE=$i>$FORM{'TITLE'}</A></TD>\n"; <INPUT>タグは<FORM>タグがないと有効ではありませんし、<FORM>タグはSUBMITボタンか、JavaScriptを使用しなければデータを送信できません。 上記の方法ではそもそもデータを送信できません。 この場合、 print "<TD WIDTH=200><A HREF='top_search.cgi?GYOU=$i>$FORM{'TITLE'}</A></TD>\n"; として、GETでデータを送信すると良いと思います。

KODAMAR
質問者

お礼

回答ありがとうございます。 上記のようにしたところアドレスバーには http://~cgi.?GYOU=3 と出てきました。 このGYOU=3を本文中で扱うにはどのようにしたらいいのでしょうか? read(STDIN,$buffer,$ENV{'QUERY_STRING'}); ではダメですか?

KODAMAR
質問者

補足

すいません、$buffer = $ENV{'QUERY_STRING'};でできました。 ありがとうございました。

関連するQ&A