200X/00/06 新しいカキコを上に表示していくために考えたのが・・・ カキコ内容を下記のように処理 データファイル1に送信内容を上書き出力 ↓ データ2ファイルを開けてそのなかでデータファイル1とログファイルを開いて上書き出力 ↓ その後ログファイルにデータファイル2を上書き出力 データファイル2をフォームの有るhtmlに返してやる。 まぁこれでも掲示板らしくなったので、まぁ良いかって感じです。 送るがわのフォームHTMLの作成、名前の記入欄も付け加え(⌒^⌒)b? このような感じのhtmlファイルを書く。 <HTML> <HEAD><TITLE>TESTBBS</TITLE></HEAD> <BODY> <FORM METHOD="POST" ACTION="cgi-bin/****.cgi"> name<INPUT NAME="name"><P> message<TEXTAREA NAME="memo" ROWS="4" COLS="60"> </TEXTAREA><P> <INPUT TYPE="submit" VALUE="submit"> <INPUT TYPE="reset" VALUE="reset"> <HR> </form></html> 《これを表示させるとこんな感じ→ 「dbbbs3.html」》 続いてCGIのファイル 環境変数の文字列置き換えに<BR>を追加 あと<と>の置き換えも追加したけど、htmlでは表現できないんです?・・と思う。 書きこみ欄をテーブルで返すように変更 データファイル1の部分 データファイル2の部分 ログファイル3の部分 #!/usr/local/bin/perl print "Content-type: text/html\n\n"; read(STDIN, $naka, $ENV{"CONTENT_LENGTH"}); @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/<BR>/g; ここに文字列変換がまだ入るんですがタグが書けません(*^^*ゞ $kaku{$hidari} = $migi; } $name = $kaku{'name'}; $memo = $kaku{'memo'}; $nakamifile1 = "../****1.txt"; $logfile = "../log***.txt"; $nakamifile2 = "../****2.txt"; $dasufile = "../****.html"; print <<MAMA; <META HTTP-EQUIV="Refresh" CONTENT="0;URL=http://127.0.0.1/~****/*****.html"> <BODY> tyottomattre!<p> MAMA open(FILE1, ">$nakamifile1"); select FILE1; print <<MAMA; <TABLE><TR><TD>$name</TD></TR><TR><TD>$memo</TD></TR></TABLE><HR> MAMA close(FILE1); open(FILE2, ">$nakamifile2"); select FILE2; open(KAKI1, "$nakamifile1"); @kaki1 = <KAKI1>; print @kaki1; open(ROG, "$logfile"); @rog = <ROG>; print @rog; close(KAKI1); close(ROG); close(FILE2); open(ROG, ">$logfile"); select ROG; open(ROG1, "$nakamifile2"); @rog1 = <ROG1>; print @rog1; close(ROG1); open(DASU, ">$dasufile"); select DASU; print <<MAMA; <HTML> <HEAD><TITLE>TESTBBS</TITLE></HEAD> <BODY LINK="#000000" VLINK="#000000"> <FORM METHOD="POST" ACTION="cgi-bin/****.cgi"> name<INPUT NAME="name"><P> message<TEXTAREA NAME="memo" ROWS="4" COLS="60"> </TEXTAREA><P> <INPUT TYPE="submit" VALUE="submit"> <INPUT TYPE="reset" VALUE="reset"> <HR> MAMA open(KAKIKO, "$nakamifile2"); @kakiko = <KAKIKO>; print @kakiko; close(KAKIKO); print "</form>"; print "</html>"; close(DASU); exit; しかし??これでは永遠に書きこみが続いていきます(*^^*ゞ 《この掲示板に書き込みするとこんな感じ→ 「dbbbs4.html」》 |