OnOff、デザイン修正他 * 2000/05/06 -過去ログページんぐ、$myfile * を挿入すると過去3回の履歴を表示します * テーブル用HTMLは自分で作成してください * パーミッションを606か666にした、空のファイル(new.txt)を作成してください * new.txtにログが残ります * * 編集可バージョン "■ ".$now."
".$com."\n";フォーマットのみ対応 */ //---------------------- 設 定 ------------------------------------------- $logmax = 100; //ログ記録最大行 $max = 10; //表示件数 $page_def= 10; //過去ログ何件ずつ $logfile = "new.txt"; //ログファイル名 $pwd = "5572"; //パスワード(変更してください $title = "新着情報一覧"; //タイトル(変更してください $title2 = "新着情報"; //過去ログタイトル(変更してください $wid = "540"; //テーブルの幅 // $now = gmdate("Y/m/d(D) H:i", time()+9*60*60);//日付のフォーマット if(phpversion()<"4.1.0") $_SERVER = $HTTP_SERVER_VERS; $lines = file($logfile);//ファイルを配列に読み込む //---------------------- ヘッダ・スタイルシート----------------------------- if($_SERVER['QUERY_STRING']){ echo " $title "; //---------メニュー等設置する場合は以下から呼び出し(コメントアウトは削除)----------- //include("header.php"); //---------------------- 設 定 完 了 ------------------------------------------- echo "
"; } if($_SERVER['QUERY_STRING']=="regi"){//ログ書き込み if(!isset($_POST['com'])) die("何も入力されてません。"); $com = $_POST['com']; if(get_magic_quotes_gpc()) $com = stripslashes($com); if($html) $com = htmlspecialchars($com); if(!$br) $com = nl2br($com); //改行文字の前に
を代入する。 $com = ereg_replace( "[\r\n]", "", $com); //\nを文字列から消す。 $message = "
■ ".$now."
".$com."
\n"; $st = ($_POST['edit']=="1") ? 1 : 0; $fp = fopen ($logfile , "w"); //書き込みモードでオープン flock($fp ,LOCK_EX); fputs ($fp, "$message"); //先頭に書き込む for($i = $st; $i < $logmax; $i++) //いままでの分を追記 fputs($fp, $lines[$i]); fclose ($fp); echo $message; echo "

--------更新完了------------

"; } if($_SERVER['QUERY_STRING']=="put"){//更新書き込みフォーム $pass = $_POST['pass']; if(isset($pass) && $pass != $pwd) die("パスワードが違いますよぉ〜!!"); $edit = 0; if ($_POST['edit']){ $rcom = strstr($lines[0],"r>");//最初の
から全部〜 $rtag = strlen($rcom) - strrpos($rcom, "<");//最後の<タグ位置 $rcom = substr($rcom, 2, -$rtag);//最初の
から最後のタグまで $edit = 1; } echo "
-- 管理モード --
\n"; if (!$pass){ ?>


-- 更新 --
()



改行を<br>に変換しない。HTMLタグを無効にする

   

$title2

"; /* 1ページずつ表示 */ //?old+3を展開->$page=3 $page = strstr($_SERVER['QUERY_STRING'], '+'); if($page){//page=3が設定されたら開始位置は(3-1)*10=20 配列20番目 $st = ($page-1) * $page_def;// }else{ $page = 1;//最初はpage=1 } for($i = $st; $i < $st+$page_def; $i++){//10件ずつ表示 echo $lines[$i]; } if (sizeof($lines) > $page_def) {//10件より多いならページング作成 $pages = ceil(sizeof($lines) / $page_def);//35÷10=3.5 ceil切り上げ 4 for ($i = 1; $i <= $pages; $i++) {//ログ35行なら4ページ if($page == $i){//今表示しているのはリンクしない $next .= " $i "; }else{ $next .= " $i ";//他はリンク } } echo "

[ Page: $next ]";//[12 3 4] } echo "

.
\n"; }else{//実際の表示部分 for($i = 0; $i < $max; $i++) echo $lines[$i]; echo "

-more-
"; } if($_SERVER['QUERY_STRING']){//過去ログ表示時ヘッダー echo "

"; //include("foot.php"); exit; } ?>