#!/usr/local/bin/perl # # テキストボックスからのデータ受け取り # # id=form_tb.cgi 00.01.10 # このCGIのポイント # 1.TEXTAREAから入力されたデータの改行コード処理 # 2.タグの無効 # 3.空データ行の削除 # 4.文字コード変換 $bkhmpg = "http://www.kumagaya.or.jp/~chichibu/cgi1.html"; require 'cgi-lib.pl'; require 'jcode.pl'; &ReadParse; ####################### # 入力項目チェック # ####################### if ($in{'Q1'} eq "") { &error(1) } if ($in{'Q2'} eq "") { &error(2) } $ckdt=$in{'Q1'} ; &tagck ; $in{'Q1'}=$ckdt; # TEXTAREAから入力されたデータについては改行コード\n以外のコードが付くので # 改行コードを\nに統一する $in{'Q1'}=~ s/\015\012/\n/g; # Windowsから $in{'Q1'}=~ s/\015/\n/g; # Macから # コメントの改行のみをカットする $in{'Q1'}=~s/\n\n*/\n/g; # ブラウザに改行して表示させるため改行タグに置きかえる $in{'Q1'} =~ s/\n/
/g; # 質問2の処理 $dt2=$in{'Q2'}; # タグチェック $ckdt=$dt2 ; &tagck ; $dt2=$ckdt; # TEXTAREAから入力されたデータについては改行コード\n以外のコードが付くので # 改行コードを\nに統一する $dt2=~ s/\015\012/\n/g; # Windowsから $dt2=~ s/\015/\n/g; # Macから # 2行以上空いたら1行にする $dt2=~s/\n\n\n*/\n\n/g; # ブラウザに改行して表示させるため改行タグに置きかえる $dt2 =~ s/\n/
/g; # 画面表示 print "Content-type: text/html\n\n"; print "\n"; print "\n"; print "テキストボックスの練習\n"; print "\n"; print "\n"; print '
'; # 文字コードをeucにする(eucに統一しないと文字化けする) $value=$in{'Q1'}; &jcode'convert(*value,'euc'); print "Q1.どの内容が参考になりましたか?"; print '

'; print $value; print '

'; # 文字コードをeucにする $value=$dt2; &jcode'convert(*value,'euc'); print "Q2.何に興味がありますか?"; print '

'; print $value; print '


'; print '最初の画面に戻る'; print "\n"; print "\n"; #############################################   # # # チェックエラー表示画面ルーチン     #  # #  ############################################# sub error { # &error(xx); で呼び出されたルーチンは、()内の数字が $error に代入される。 $error = $_[0]; if ($error eq "1") { $error_msg = '質問1の記入がありません'; } elsif ($error eq "2") { $error_msg = '質問2の記入がありません'; } print "Content-type: text/html\n\n"; print 'テキストボックスの練習' . "\n"; print '

'; print '' . "\n"; print '

テキストボックスの入力で下記のエラーが発生しました

' . "\n"; print '

'; print "$error_msg\n"; print '


'; # リロードでもどると入力データが消えてしまうので print 'ブラウザ画面の戻るをクリックして前画面に戻って下さい'."\n";; print ''."\n"; exit; } # # タグの無効化サブルーチン # sub tagck { $ckdt =~ s//>/ig; $ckdt =~ s///ig; } ############## end of script ################