#!/usr/local/bin/perl####################################################memo.cgi メモ書きプログラム# 2001.09.10 MARCO# edit 2002.05.09 MARCO## パーミッション# memo.cgi(755)# $file(666)###################################################require 'jcode.pl';############ 設定項目 ###############メモファイル名(パーミッションを666で設定)$file='memo.txt';#戻るページ$return_page='../../cgitop.html';#ページタイトル$page_title='メモ帳';#背景GIF$bg_gif='kumo.gif';#ページ背景色$page_bgcolor='#ffffff';#タイトル文字色$title_color='#003366';#ページ文字色$page_txtcolor='#664400';#テーブル背景色$tbl_bgcolor1='#aaffbb';$tbl_bgcolor2='#eeeeee';#削除キー$del_key='123';#######################################日付と時間を取得($sec,$min,$hour,$mday,$mon,$year,$wday)=localtime();#日付時刻のフォーマットを整える$mon++;$year += 1900;$DATE = "$year年$mon月$mday日 $hour時$min分";
#HTML作成print "Content-type: text/html\n\n";print "<HTML>\n<HEAD>\n";print "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=x-sjis\">\n";print "<TITLE>$page_title</TITLE>\n";print "</HEAD>\n<BODY bgcolor=$page_bgcolor text=$page_txtcolor background=$bg_gif>\n";print "<a href=$return_page>戻る</a>\n";print "<center><font size=5 color=$title_color><b>$page_title</b></font></center>\n"; #入力フォームの表示print "<FORM ACTION=memo.cgi METHOD=POST>\n";print "<CENTER><TABLE width=80% bgcolor=$tbl_bgcolor1>\n";print "<TR><TD>入力画面</TD></TR>\n";print "<TR><TD>名 前</TD><TD><input type=text name=FLD01 size=20></TD></TR>\n";print "<TR><TD>タイトル</TD><TD><input type=text name=FLD02 size=50></TD></TR>\n";print "<TR><TD>コメント</TD><TD><textarea name=FLD03 rows=5 cols=70></textarea></TD></TR>\n";print "<TR><TD>区 分</TD><TD><input type=radio name=STATUS value=INS checked>追加\n";print "<input type=radio name=STATUS value=DEL>削除\n";print "(キー<input type=text name=DELKEY size=4>)</TD></TR>\n";print "<TR><TD>削除対象№</TD><TD><input type=text name=LINNO size=4></TD></TR>";print "<TR><TD><input type=submit value=\"登録\"><input type=reset value=\"取消\">\n";print "</TD></TR></TABLE></CENTER></FORM>\n";
#入力データを獲得use CGI;$form=CGI->new();$idt1=$form->param("FLD01");$idt2=$form->param("FLD02");$idt3=$form->param("FLD03");$sts=$form->param("STATUS");$lno=$form->param("LINNO");$dky=$form->param("DELKEY");
#入力チェックif(($sts eq 'INS' && $idt1 ne '') || ($sts eq 'DEL' && $dky eq $del_key)){ #一旦全データを読み込む open(NOTE,"$file"); $no=0; while(<NOTE>){ @DT{$no}=$_; $no++; } close(NOTE);
open(NOTE,">$file"); if($sts eq 'INS'){ input_data(); } $no=0; while($DT{$no}){ #追加の処理 if($sts eq 'INS'){ print NOTE $DT{$no} } #削除の処理 if($sts eq 'DEL'){ if($lno != $no+1){ print NOTE $DT{$no} } } $no++; }}close(NOTE);
sub input_data{ &jcode'convert(*idt1,"sjis"); &jcode'convert(*idt2,"sjis"); &jcode'convert(*idt3,"sjis"); print NOTE "$DATE\t"; print NOTE "$idt1\t"; print NOTE "$idt2\t"; #改行文字の置き換え $idt3=~s/\r\n/<br>/ig; print NOTE "$idt3\n";}
#ファイルを読み込んで出力open(NOTE,"<$file");@DATA=<NOTE>;close(NOTE);$no=1;print "<CENTER><TABLE border=1 bgcolor=$tbl_bgcolor1 width=80%>\n";foreach(@DATA){ ($DATE,$dt1,$dt2,$dt3)=split(/\t/,$_); print "<TR><TD>\n"; print "<font size=1>No.[$no]</font>\n"; print "<font size=3 color=$title_color><b>$dt2</b></font>\n"; print "<TABLE border=0 bgcolor=$tbl_bgcolor2>\n"; print "<TR>"; print "<TD>"; print $dt3; print "</TD></TR></TABLE>\n"; print "<font size=2>$DATE</font> From <b>$dt1さん</b></TD></TR>\n"; $no++;}print "</TABLE></CENTER>\n";print "</BODY>\n</HTML>\n";
このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー と 利用規約 が適用されます。
1文字以上入力してください
本文は少なくとも1文字以上必要です。
1文字以上入力してください。