Free CGI Perl PHP Script Olive Design CGI

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

フォームからCGIのデータ送り方、GETとPOST両方対応させます。

ファイルform03.htmlとform03.cgiを作成して下のソースをそれぞれ貼り付けます。

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

POSTで送信する場合はform03.htmlファイルのformタグのmethod=getをmethod=postに変更します。

form03.html

<html><head><title>名前の問い合わせ</title></head>
<body>
<h3>あなたのお名前を教えてください。
<form method=get action="form03.cgi">

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

ソース form03.cgi

#!/usr/bin/perl

#GETでPOSTどちらでデータが送られて来たか選別
$method = $ENV{ 'REQUEST_METHOD' };

#どちらで来たか選別後
#フォームからデータ「yourname=○○○」を読み取り、
#読み込んだデーターを$inputに代入

if( $method eq 'GET' ) {$input = $ENV{ 'QUERY_STRING' };} 
else {read( STDIN,$input,$ENV{ 'CONTENT_LENGTH' } );}

#$inputから文字列をsplitで分解(=を削除)して$yournameと$nameに代入
($yourname,$name) = split /=/, $input;

#--nameデータのデコード処理
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

#htmlを表示
print "Content-type: text/html\n\n";
print "<html><body>\n";
print "こんにちは<b>${name}</b>さん\n";
print "</body></html>"
__END__
Perl PHP Free CGI Script OliveDesign CGI

Perl PHP Free CGI Script OliveDesign CGI

プライバシーポリシー / 特定商取引法に基づく表示