Free CGI Perl PHP Script Olive Design CGI

CGIへフォーム内容を渡すスクリプト その4

一つのCGIファイルにHTMLフォーム部分を記述します。

form04.cgiを作成して下のソースをそれぞれ貼り付けます。

form04.cgiのパーミションを755に変更します。

ソース form04.cgi

#!/usr/bin/perl
&decode;
#表示部分の振り分けサブルーチン
if ($mode eq 'regist') { &regist; }
&html;

#htmlを表示
sub html {
print <<"HTML";
Content-type: text/html

<html><head><title>名前の問い合わせ</title></head>
<body>
<h3>あなたのお名前を教えてください。
<form method=post action="form04.cgi">
<input type=hidden name=mode value="regist">

入力(ローマ字)=>
<input type=text name="name">
<input type="submit" value="送信">
</form></body></html>

HTML

exit;
}

sub regist{
print <<"HTML";
Content-type: text/html

<html><body>
こんにちは<b>${name}</b>さん<br>
</body></html>
HTML

exit;
}

sub decode {
#フォームからデータ「yourname=○○○」、「mode=regist」を読み取り、
#読み込んだデーターを$inputに代入
  read STDIN,$input,$ENV{'CONTENT_LENGTH'};
  @pairs = split(/&/,$input); 
  foreach $pair (@pairs) {
   ($list, $value) = split(/=/, $pair);
   $value =~ tr/+/ /;
   $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
   $FORM{$list} = $value;
  }
  $name  = $FORM{'name'};
  $mode  = $FORM{'mode'};
}
__END__

Perl PHP Free CGI Script OliveDesign CGI

Perl PHP Free CGI Script OliveDesign CGI

OliveDesign CGIプライバシーポリシー