• ベストアンサー

ifの条件式

お世話になります。初歩的な質問とは思いますが、どうぞよろしくお願いします。 HTMLでのフォームの一部に次のようなラジオボタンの記述をしています。どちらか選んでCGIに渡し、「試験1」を選んだなら処理1を、「試験2」を選んだなら処理2を行いたいのですが、ifの条件式の書き方(ラジオボタンで選んだ方の値を受け取る変数の書き方)が分かりません。 ----HTML----------------------------------------- <input type="radio" name="test" value="テスト1"> 試験1 <input type="radio" name="test" value="テスト2"> 試験2 ----CGIスクリプトの一部-------------------------- if( ? ? ? =="テスト1"){ 処理1 }else{ 処理2 } ----------------------------------- ifの条件式の書き方を教えて下さい。 よろしくおねがいします。

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

  • ベストアンサー
  • moon_piyo
  • ベストアンサー率60% (88/146)
回答No.2

CGI.pm利用の場合... use CGI; $query = new CGI; : : if ($query->param('test') eq "テスト1") { } else { } cgi-lib.pl利用の場合... require "cgi-lib.pl"; ReadParse(*s); : : if ($s{'test'} eq "テスト1") { } else { } という感じ?

noname#8789
質問者

お礼

ご回答どうもありがとうございます! ご丁寧にサンプルまで書いていただき、本当に助かりました。eqを使うのですね。==だと思っていました(^^; 無事解決できました。ありがとうございました。

その他の回答 (1)

回答No.1

条件式の『???』の部分が分からないということでよろしいでしょうか。 そうでしたら条件式の前に、送信されたデータをプログラムで扱えるようにスカラー変数に格納します。 その方法の一つとして、参考URLの第3項「フォームからのデータを受け取る」が参考になるかと思います。

参考URL:
http://www.futomi.com/lecture/form/cgilib.html
noname#8789
質問者

お礼

ご回答ありがとうございます! >条件式の『???』の部分が分からないということでよろしいでしょうか。 はい、『???』も含めての条件式の書き方が分かりませんでした。書き方が間違っているようで、処理1しか実行されていませんでした。 参考URLどうもありがとうございます。無事解決できました!

関連するQ&A