postで処理を分けるには?

[上に] [前に] [次に]
わからずや 2000/04/03(月) 17:49:56
cgiの勉強はじめて3日のわからずやです。
postでデータ?を送って、cgiの中でLocationして
飛ぶURLを変えたいのですが・・・

HTMLの途中・・・
<form method="post" action="/cgi-bin/hoge.cgi">
<input type="submit" name="fugo" value="hoge1">
<input type="submit" name="fugo" value="hoge2">
<input type="submit" name="fugo" value="hoge3">
</form>

cgiの途中・・・
#!/usr/local/bin/perl
print "Content-type: text/html\n";
print "\n";
if ("$in{'fugo'}" eq "hoge1"){
   Locationでどこかへ飛ぶ;
}elsif ("$in{'fugo'}" eq "hoge2"){
   Locationでどこかへ飛ぶ;
}elsif ("$in{'fugo'}" eq "hoge3"){
   Locationでどこかへ飛ぶ;
}else{
   Locationでどこかへ飛ぶ;
}

このような感じで飛び先を変えたいのですけど、
どうしてもうまくいきません。
アドバイスお願いします。

ふっ 2000/04/03(月) 18:06:54
# print "\n";

ふっ 2000/04/03(月) 18:07:01
# print "\n";

わからずや 2000/04/03(月) 18:47:03
いっ!?@@;
えっ??!@@;
でですね、
print $in{'fugo'}; や、
print "$in{'fugo'}"; なんてやってみたんですけど、
$in{'fugo'} の中身が表示されないんです。(T-T
うーん・・・

:-) 2000/04/03(月) 18:56:37
Location は HTTP ヘッダなのに

print "\n";

で終わらせてしまってるから削りましょう、ってことです。<ふっ さんの

:-) 2000/04/03(月) 19:04:34
あーもう。。

#!/usr/local/bin/perl

print "Content-Type: text/html; charset=EUC-JP\n";

if($in{'fugo'} eq "hoge1") { print "Location: http://www.yahoo.com/\n"; }
elsif($in{'fugo'} eq "hoge2") { print "Location: http://www.lycos.com/\n"; }
elsif($in{'fugo'} eq "hoge3") { print "Location: ...\n"; }
else { print "Location: http://www.kantei.go.jp/\n"; }

print "\n";
exit;

ヒソカ 2000/04/03(月) 19:05:33
Thank you nice follow  > :-)

:-) 2000/04/03(月) 19:06:53
今思ったんだけど、この場合って Content-Type いらないような…

ヒソカ 2000/04/03(月) 19:08:21
飛ばすだけならHTML出力してないかんな。

わからずや 2000/04/03(月) 19:12:39
[[解決]]
あぅあぅあぅ・・・(^^;
すみません。本当にありがとうございました。
こんな僕ですが www.kantei.go.jp/
行った事ありました。(笑

ヒソカ 2000/04/03(月) 19:20:20
RFCとかもたまに読んでケレ

[上に] [前に] [次に]