logo

その他にもどる

BBS

投稿・編集はこちら 
NO3 管理人
おはようございます。

NO2 今日子
じぇじぇじぇ

NO1 管理人
おはようございます。
お試しください。



ファイル名「bbs.php」 データーファイル名「bbs.log」
<html>
<head>
<title>BBS</title>
</head>
<body>
<a href="bbs-kanri.php">投稿はこちら</a>
<?php
	$logFile = "bbs.log"; //配列は「no,name,comment」の3項目
	$fp = file("$logFile");
	for($i=0; $i<count($fp); $i++) {
		$list = explode(",",$fp[$i]);
		echo "<table width=620><tr><td bgcolor=#eeeeee>";
		echo "<small>NO$list[0]</small> <b>$list[1]</b>";
		echo "</td></tr><tr><td>";
		echo "$list[2]";
		if (file_exists("img/$list[0].jpg")) { //画像があれば表示、フォルダは「img」
			echo "<IMG src=img/$list[0].jpg border=0>";
		}
		echo "</td></tr></table><br>";
	}
?>
</body>
</html>


bbs-kanri.php のスクリプト(投稿処理のみ)
<html>
<head>
</head>
<body>

<?php
$logFile = "bbs.log";
$errMsg = "";
if (isset($_POST["toko"])) {
	if(!$_POST['name']) {$errMsg = "★お名前を入力してください<br>";}
	if(strlen($_POST['name']) > 20) {$errMsg .= "★お名前が長すぎます<br>";}
	if(!$_POST['comment']) {$errMsg .= "★コメントが長すぎます<br>";}
	if(strlen($_POST['comment']) > 400) {$errMsg .= "★コメントが長すぎます<br>";}

    if($errMsg) {
        echo "<br><font color=red>$errMsg</font>";
        echo "<br><a href='JavaScript:history.back()'>もどる</a><br>";
        echo "</body></html>";
        exit ;
    }

	if(!$errMsg) {

        $blog = fopen ("$logFile","r");
        $bdata = fgets ($blog);                    //一行読み込み
        list($bNo) = explode(",",$bdata);
        fclose($blog);

        $No = $bNo + 1;

        $name = $_POST["name"];
        $comment = $_POST["comment"];

        $log = file("$logFile");
        $newline = "$No,$name,$comment,\n";
        $log2 = fopen("$logFile","w");
        flock($log2, LOCK_EX);
        fputs($log2, $newline);					//先頭に1行書き込む
        for($i = 0; $i < count($log); $i++){
            fputs($log2, $log[$i]);					//今までの分を書き込む
        }

        flock ($log2, LOCK_UN);
        fclose ($log2);

        echo "<br>投稿処理、完了しました。<a href='bbs.php'>BBSへもどる</a>";
        exit ;
    }
}
function convString($string) {
    $string = stripslashes($string);
    $string = htmlspecialchars($string,ENT_QUOTES,'UTF-8');
    $string = str_replace(",",",",$string);
    $string = str_replace(array("\r\n","\n","\r"),"<br>",$string);
    return $string;
}
?>

<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<table border="1" cellspacing="0" cellpadding="4" bordercolor="#cccccc" bordercolordark="#ffffff">
  <tr> 
    <td bgcolor="#eeeeee" align="right">お名前</td>
    <td bgcolor="#eeeeee"><input type="text" name="name" size="30"></td>
  </tr>
  <tr>
  <td bgcolor="#eeeeee" align="right">コメント</td>
    <td bgcolor="#eeeeee"><textarea name="comment" cols="60" rows="7"></textarea></td>
  </tr>
</table>
<br>
<input type="submit" name="toko" value="投稿> 
</form>

</body>
</html>


---- End ----

↑PageTop その他にもどる