200X/00/15 いやぁ〜今夜はめちゃくちゃ遊んだなぁ(*^^*ゞ こんなことばっかりしてても、仕事もちゃんとしている私は偉いか?? ある程度出来あがったので、色々整理して、JavaScriptを埋め込んで、 我ながら満足な掲示板 に仕上がった(*^。^*) 著作権表示まで書いちゃって・・・自我自賛か??笑ってしますなぁ(⌒^⌒)bうふっ ログの件数を制御する部分 foreach( 15..$#logs ){ pop @logs; } ログの表示を変更 foreach $kakiko ( @logs ){ print $kakiko; JavaScriptの部分 あと色々と手を入れる・・・ まぁなんて長い??プログラムになっちゃったんでしょう(*^^*ゞ(まだ?短いか) 《これを表示させるとこんな感じ→ 「dbbbs8.html」》 デコード部分の改行表示文字がおかしいです 直すの面倒だったからそのまま表示。 HTMLでHTML部分を表示さるのに、環境変数使って<や>を書きなおすようにして吐き出したプログラム なので、改行コードはおかしくなるんです??ってなに言ってるんだって??(-_☆)キラリ #!/usr/local/bin/perl #┌───────────────────────────────── #│ dbbbs v1.00 (2001/11/1) #│ Copyright(C) tensyuと10syu 2001 (著作権表示だったりして(*^^*ゞ) #│ #│ [注意事項] #|@ まぁ使う人はいないでしょうが、使わない方が貴方の為です。 #| (万が一使うなら)↓ #│A どのような損害に対しても作者は一切の責任を負いません。 #│B 質問や苦情などは一切受け付けません(*^^*ゞ。 #│C 私が勝手に遊んでるだけですから、し〜らないっと(⌒^⌒)bうふっ #└───────────────────────────────── require './jcode.pl'; print "Content-type: text/html\n\n"; if ($ENV{'REQUEST_METHOD'} ne "POST") { $ip = $ENV{'REMOTE_ADDR'}; $reurl = $ENV{'HTTP_REFERER'}; $host = $ENV{'REMOTE_HOST'}; $bura = $ENV{'HTTP_USER_AGENT'}; ( $byou, $hun, $ji, $hi, $tuki, $toshi, $you ) = localtime( time ); $hyouji = sprintf( "%04d年%02d月%02d日",$toshi + 1900, $tuki + 1, $hi ); $youbi = sprintf( "(%s)", ( "日", "月", "火", "水", "木", "金", "土")[$you] ); $jikan = sprintf( "%02d時%02d分%02d秒", $ji, $hun, $byou ); $suuji = "./suuji.txt"; foreach( 1..5) { if( mkdir($lock, 0755 ) ){ last; } else{ sleep( 1 ); } } open(SUUJI, "+<$suuji"); @suuji = <SUUJI>; $kau = $suuji[0] +1; $suujidata = $kau."\t".$hyouji."\t".$youbi."\t".$jikan."\t".$ip."\t".$reurl."\t".$host."\t".$bura."\n"; unshift( @suuji, $suujidata ); foreach( 300..$#suuji ){ pop @suuji; } seek( SUUJI, 0, 0 ); print SUUJI @suuji; truncate( SUUJI, tell( SUUJI )); close( SUUJI ); rmdir( $lock ); } if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $naka, $ENV{"CONTENT_LENGTH"}); ( $byou, $hun, $ji, $hi, $tuki, $toshi, $you ) = localtime( time ); $hyouji = sprintf( "%04d年%02d月%02d日",$toshi + 1900, $tuki + 1, $hi ); $youbi = sprintf( "(%s)", ( "日", "月", "火", "水", "木", "金", "土")[$you] ); $jikan = sprintf( "%02d時%02d分%02d秒", $ji, $hun, $byou ); $ip = $ENV{'REMOTE_ADDR'}; $reurl = $ENV{'HTTP_REFERER'}; $host = $ENV{'REMOTE_HOST'}; $bura = $ENV{'HTTP_USER_AGENT'}; @nakami = split('&', $naka); foreach(@nakami) { ($hidari, $migi) = split("="); $migi =~ tr/+/ /; $migi =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/eg; $migi =~ s/\r?\n/ /g; $migi =~ s/ / /gi; &jcode'convert( *migi, 'sjis' ); $kaku{$hidari} = $migi; } $name = $kaku{'name'}; $memo = $kaku{'memo'}; $address = $kaku{'address'}; $url = $kaku{'url'}; $color = $kaku{'color'}; $bg = $kaku{'bg'}; $dai = $kaku{'dai'}; $logfile = "./logfile.txt"; $kanrifile = "./kanrifile.txt"; open( NIJYUU, "$kanrifile"); $nijyuu = <NIJYUU>; ( $a, $b, $memo1, $d, $e, $f, $g, $h, $i, $j ) = split( /\t/, $nijyuu ); close( NIJYUU ); if($name eq "" or $memo eq "") { $error="エラーで〜す!nameとmemoは必ず記入してくださいd(^-^)ネ!。"; } elsif($memo eq $memo1){ $error="エラーで〜す!2重投稿になっちゃいました(*^^*ゞ。"; } else{ foreach( 1..5) { if( mkdir($lock, 0755 ) ){ last; } else{ sleep( 1 ); } } open(LOGFILE, "+<$logfile"); @logs = <LOGFILE>; $ban = $logs[0] +1; $memo =~ s/\r?\n/ /g; $logdata = $ban."<center><table width='600' border='2'><tr><td bgcolor='#ffffff'> <b>$dai</b> <font size='2'>name: <b><a href='mailto:$address'>$name</a> </b>\[ $hyouji$youbi$jikan ] <a href='$url'>[HOME]</a></font></td></tr><td bgcolor='$bg'><font color='$color'>$memo</font></td></tr></table></center>"."\n"; unshift( @logs, $logdata ); foreach( 15..$#logs ){ pop @logs; } seek( LOGFILE, 0, 0 ); print LOGFILE @logs; truncate( LOGFILE, tell( LOGFILE )); close( LOGFILE ); open(KANRIFILE, "+<$kanrifile"); @kanri = <KANRIFILE>; $nan = $kanri[0] +1; $kanridata = $nan."\t".$name."\t".$memo."\t".$hyouji."\t".$youbi."\t".$jikan."\t".$ip."\t".$reurl."\t".$host."\t".$bura."\n"; unshift( @kanri, $kanridata ); foreach( 100..$#kanri ){ pop @kanri; } seek( KANRIFILE, 0, 0 ); print KANRIFILE @kanri; truncate( KANRIFILE, tell( KANRIFILE )); close( KANRIFILE ); rmdir( $lock ); } } #頭の部分表示 print <<MAMA; <META HTTP-EQUIV="Content-type"CONTENT="text/html"CHARSET="Shift_JIS"> <HTML> <HEAD> <TITLE>お気軽掲示板</TITLE> <STYLE TYPE="text/css"> <!-- A:hover { color: red; } a {text-decoration:none} --> </STYLE> <SCRIPT LANGUAGE="JavaScript"> function iro1(){ document.iroform.color.value="red"; } function iro2(){ document.iroform.color.value="blue"; } function iro3(){ document.iroform.color.value="khaki"; } function iro4(){ document.iroform.color.value="yellow"; } function iro5(){ document.iroform.color.value="purple"; } function iro6(){ document.iroform.color.value="green"; } function iro7(){ document.iroform.color.value="brown"; } function iro8(){ document.iroform.color.value="violet"; } function iro9(){ document.iroform.color.value="pink"; } function iro10(){ document.iroform.color.value="gray"; } function iro11(){ document.iroform.color.value="snow"; } function iro12(){ document.iroform.color.value="orange"; } function iro13(){ document.iroform.color.value="aqua"; } function iro14(){ document.iroform.color.value="brass"; } function iro15(){ document.iroform.color.value="coral"; } function iro16(){ document.iroform.color.value="tan"; } function iro17(){ document.iroform.color.value="teal"; } function iro18(){ document.iroform.color.value="gold"; } function iro19(){ document.iroform.bg.value="black"; } function iro20(){ document.iroform.bg.value="white"; } function iro21(){ document.iroform.bg.value="red"; } function iro22(){ document.iroform.bg.value="yellow"; } function iro23(){ document.iroform.bg.value="pink"; } function iro24(){ document.iroform.bg.value="blue"; } </SCRIPT> </HEAD> MAMA $suuji = "./suuji.txt"; open( KAUNTA, "$suuji"); $kaunta = <KAUNTA>; ( $aa, $bb, $dd, $ee, $ff, $gg, $hh, $ii ) = split( /\t/, $kaunta ); close( KAUNTA ); print "<font color='#ffffff' size='2'><b>$aa</b></font> "; print <<MAMA; <BODY bgcolor="#003366" vlink="#000000" link="#000000"> <center><font color="white" size="+1"><b>お気軽掲示板</b></font></center> <FORM METHOD="POST" ACTION=\"****.cgi\" name=\"iroform"\ \n> <center><table border="0" align="center" width="400"> <tr><td align="center"> <font color="white"><b>お名前</b></font><font size="2" color="white">(省略不可)</font><INPUT NAME="name" SIZE="45"></td></tr> <tr><td align="center"> <font color="white"><b>題名.......</b></font><font size="2" color="white">(省略可)</font><INPUT NAME="dai" SIZE="45" value="no title"></td></tr> <tr><td align="center"> <font color="white"><b>e-mail...</b></font><font size="2"color="white">(省略可)</font><INPUT NAME="address" SIZE="45"></td></tr> <tr><td align="center"> <font color="white"><b>URL......</b></font><font size="2"color="white">(省略可)</font><INPUT NAME="url" SIZE="45" VALUE="http://"></td></tr> </tr></table></center> <center><table border="0" width="400"> <tr><td colspan="6" align="center"><font size="2"color="white">文字の色を選べます(下の色をクリックして下さい)</font><input name="color" size="13" value="black"></td></tr> </table></center> <center><table border="0" width="400"><tr> <td width="45" bgcolor="red"><INPUT TYPE="radio" name="box" onClick="iro1();"><font color="black">red</font></td> <td width="45" bgcolor="blue"><INPUT TYPE="radio" name="box" onClick="iro2();"><font color="black">blue</font></td> <td width="45" bgcolor="khaki"><INPUT TYPE="radio" name="box"onClick="iro3();"><font color="black">khaki</font></td> <td width="45" bgcolor="yellow"><INPUT TYPE="radio" name="box" onClick="iro4();"><font color="black">yellow</font></td> <td width="45" bgcolor="purple"><INPUT TYPE="radio" name="box" onClick="iro5();"><font color="black">purple</font></td> <td width="45" bgcolor="green"><INPUT TYPE="radio" name="box"onClick="iro6();"><font color="black">green</font></td> </tr> <td width="45" bgcolor="brown"><INPUT TYPE="radio" name="box" onClick="iro7();"><font color="black">brown</font></td> <td width="45" bgcolor="violet"><INPUT TYPE="radio" name="box" onClick="iro8();"><font color="black">violet</font></td> <td width="45" bgcolor="pink"><INPUT TYPE="radio" name="box" onClick="iro9();"><font color="black">pink</font></td> <td width="45" bgcolor="gray"><INPUT TYPE="radio" name="box" onClick="iro10();"><font color="black">gray</font></td> <td width="45" bgcolor="snow"><INPUT TYPE="radio" name="box" onClick="iro11();"><font color="black">snow</font></td> <td width="45" bgcolor="orange"><INPUT TYPE="radio" name="box" onClick="iro12();"><font color="black">orange</font></td></tr> </tr> <td width="45" bgcolor="aqua"><INPUT TYPE="radio" name="box" onClick="iro13();"><font color="black">aqua</font></td> <td width="45" bgcolor="brass"><INPUT TYPE="radio" name="box" onClick="iro14();"><font color="black">brass</font></td> <td width="45" bgcolor="coral"><INPUT TYPE="radio" name="box" onClick="iro15();"><font color="black">coral</font></td> <td width="45" bgcolor="tan"><INPUT TYPE="radio" name="box" onClick="iro16();"><font color="black">tan</font></td> <td width="45" bgcolor="teal"><INPUT TYPE="radio" name="box" onClick="iro17();"><font color="black">teal</font></td> <td width="45" bgcolor="gold"><INPUT TYPE="radio" name="box" onClick="iro18();"><font color="black">gold</font></td></tr> </table></center> <center><table border="0" width="400"> <tr><td colspan="6" align="center"><font size="2"color="white">バックの色も選べます(下の色をクリックして下さい)</font><input name="bg" size="13" value="white"></td></tr> </table></center> <center><table border="0" width="400"><tr> <td width="45" bgcolor="black"><INPUT TYPE="radio" name="box2" onClick="iro19();"><font color="white">black</font></td> <td width="45" bgcolor="white"><INPUT TYPE="radio" name="box2" onClick="iro20();"><font color="black">white</font></td> <td width="45" bgcolor="red"><INPUT TYPE="radio" name="box2"onClick="iro21();"><font color="black">red</font></td> <td width="45" bgcolor="yellow"><INPUT TYPE="radio" name="box2" onClick="iro22();"><font color="black">yellow</font></td> <td width="45" bgcolor="pink"><INPUT TYPE="radio" name="box2" onClick="iro23();"><font color="black">pink</font></td> <td width="45" bgcolor="blue"><INPUT TYPE="radio" name="box2"onClick="iro24();"><font color="black">blue</font></td></tr> </table></center> <center><table border="0" align="center" width="400"> <tr><td colspan="2" align="center"> <TEXTAREA NAME="memo" ROWS ="5" COLS="54"></TEXTAREA> <center><table border="0" width="400"> <tr><td align="center"><font size="2"color="white">(タグ有効)無茶なタグは打たないで下さい、壊れやすい掲示板(*^^*ゞ</font></td></tr> </table></center> <INPUT TYPE="submit" VALUE="送信" > <INPUT TYPE="reset" VALUE="取り消し"></tr> </table></center> </FORM> MAMA print "<font color='#ffffff'><li>$error</font> "; $logfile = "./logfile.txt"; open(LOGFILE, "+<$logfile"); @logs = <LOGFILE>; foreach $kakiko ( @logs ){ print $kakiko; } close( LOGFILE ); print "<center><font color='#ffffff'>Copyright(C) tensyu</center>"; print "</html>"; print "</body>"; exit; 返信機能も考えようっと(^o^) |