こんばんわ。いつもお世話になっております。
htmlページでプルダウン形式で血液型を選択して、
cgiに送り、その結果、貴方は(血液型)です。と表示させたいのですが、
htmlページで、
<form action="xxx.cgi">
<div><select name="blood">
<option value="a">A型
<option value="b">B型
<option value="ab">AB型
<option value="o">O型
</select></div>
<input type=submit value="見る"></form>
として、
cgiの方では、
$blood="$in{'blood'}";
if ($blood==a) {
print "私はA型です。";
}
if ($blood==b) {
print "私はB型です。";
}
if ($blood==ab) {
print "私はAB型です。";
}
if ($blood==o) {
print "私はO型です。";
}
としたのですが、
表示結果が
私はA型です。私はB型です。私はAB型です。私はO型です。
と全部でてきてしまいます。
何か構文的におかしいのでしょうか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
CGIのカテゴリで言語が書いてないので言語はPerlと仮定します。
まず、Perlで文字列比較演算子は == ではなく eq です。
あと、血液型は調べていない人など不明な人やA/B/AB/O型以外の
血液型の人もいるのでそういった人のことも考慮しましょう。
<form action="xxx.cgi">
<div><select name="blood">
<option value="a">A型</option>
<option value="b">B型</option>
<option value="ab">AB型</option>
<option value="o">O型</option>
<option value="unknown">不明</option>
<option value="etc">その他</option>
</select></div>
<input type="submit" value="見る"></form>
my $blood = "$in{'blood'}";
if($blood eq 'a') {
print "私はA型です。";
} elsif($blood eq 'b') {
print "私はB型です。";
} elsif($blood eq 'ab') {
print "私はAB型です。";
} elsif($blood eq 'o') {
print "私はO型です。";
} elsif($blood eq 'unknown') {
print "私の血液型は不明です。";
} else {
print "私はその他の血液型です。";
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript 電車の運賃を出すプログラムを作っています。 2 2022/06/22 09:36
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JSONで文字列が長い時
-
メモリをアドレスを直接指定し...
-
【C#】数値の範囲チェックについて
-
フォームで入力した値を表示し...
-
Application.ScreenUpdating = ...
-
ACCESS テキストボックスを隙...
-
構造体の各データの表示につい...
-
文字の横にプルダウンを表示さ...
-
回数を指定しないで空白行まで...
-
[python] 文字列を変数名として...
-
16進の10進変換について
-
セレクトボックスである項目を...
-
swift 文字コードから文字に変...
-
セレクトメニューで2つの項目...
-
C言語について
-
Use of uninitialized value ---
-
セレクトメニューで選んだ値を...
-
formで特定のinputを送信しない...
-
I2C接続のLCDディスプレイを使う
-
C言語のflagの使い方が分かりま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JSONで文字列が長い時
-
メモリをアドレスを直接指定し...
-
【C#】数値の範囲チェックについて
-
map(STL)でinsertを行いたいで...
-
リロード後にプルダウンの選択...
-
フォームで入力した値を表示し...
-
Perlでアルファベットを数...
-
linq で 楽天ウェブサービスのX...
-
入力内容のチェック・・・『ま...
-
途中まで出来ているのですが‥(D...
-
CGI(Perl)で、Net::FTPを使いたい
-
前のページへ戻ったときのプル...
-
パターンマッチで変数でマッチ...
-
セレクトボックスについて
-
CGIやPHPで外部ファイルの内容...
-
デコードできない時があります><
-
Application.ScreenUpdating = ...
-
どちのほうがすきですか?
-
formで特定のinputを送信しない...
-
Pythonでターミナルに文字を出...
おすすめ情報