専用掲示板(BBS)を作っぺ

突然掲示板が荒らされて

最初英語の内容で書き込みがあったのですが、しばらくほおっておいたら、次第に書き込みが増えてきて収拾がつかなくなってしまった。たちが悪いのは過去の発言にレスをつけられることです。スレッド式の掲示板だったので、過去の発言にレスをつけられると新着発言として表示されますから、時系列で追っても、発言別で追っても収拾がつかなくなってしまうんです。最初はそれらのレスを削除していたのですが、日を追うにしたがって、数が増してくるもんだから、しまいには削除するのも嫌になってしまった。

対策として

これまで使用して掲示板はPealで作成されており、しかも使用が自由(フリー)で提供されており、実に良くできていた優れものでありました。これほどのものを自作するスキルも無いし、時間も無いので実に便利に使わさせて貰っていたのですが実に残念であります。世の中には本当のウスラ馬鹿というものがいるものです。しかし、そうそう怒ってばかりはいられないので、以下の対策を考えました。

  • (1)掲示板を面倒だから閉鎖してしまう
  • (2)パスワード入力処理をひとつかます
  • (3)自作する

と考えました。最初に実行したのは(1)の方法で閉鎖してしまいました。現在も閉鎖してありますが、これはこれでひとつの解決策ではあるのですが、しばらくほおっておいたのですが時が経つにつれて、掲示板の重要性を再認識することになりました。やはり情報を共有するということは大事なことだと思いいたったわけであります。(2)のパスワードを入力処理をつけるというのもBasic認証でもつければ簡単にできるわけですけれども、このさい自分の勉強のためにも自作するという結論になりました。できるかどうかわからないですけれども、たまたまかなり前に購入していた参考書に掲示板の作り方というのが掲載されていたので、その記事をもとにしてコツコツと試行錯誤しながら作成していきたいと思ったわけであります。

なにせはじめての挑戦ですから、完成するかどうかもわからないし、どのぐらいの期間でできるかもわかりません。ま、とにかくやってみることにします。

掲示板(BBS)作成過程

最低の機能があれば十分

最初から意気込んでもしょうが無いので、最低限の機能があれば良しとします。ただスレッド式のものは必須だと考えます。ある質問や感想にツリー状にレスをつけられないと読みやすくないですからね。

スレッド表示は必須

スレッド表示って簡単にいうけれど、どうやってやるんだろうなぁ。親発言だけを順番に表示するのは簡単だと思うけど、親発言に子発言があり、その子発言に孫発言があり、孫発言に曾孫発言がぶら下がる場合だってあるんだよな。深い階層であれば、どこまでも深くなってしまう。これまでいちどもこんな処理をやったことがないので実に興味深い処理である。

他の公開されている掲示板ではあたり前に実現されているんだけど今の私には何にも考えつかない。でも手元にある参考書にはなにやら説明されている。一瞬助かったと思ったけど、はたしてそのロジックが理解できるかどうかが一番心配だ。とりあえずじっくり読み込んでみよう。

作れるものから作っていこう

ディレクトリーを作成

これまで使用していた掲示板はPealを使用したCGIだったので[cgi-bin]というディレクトリーにスクリプトを置く決まりだったので、このディレクトリーは当面そのまま置いておくが、いずれ削除することになる。そこであらたに[BBS]というディレクトリーをローカルとサーバーに作成することにする。これなら今すぐにできるもんね。

データベースの作成

なにはともあれ、データベースは作成しておかなければいけないから、l_bbsという名のデータベースをMySQLで作ることにする。PHPのコードから作成したいが、別にデータベースの作成を汎用化するわけじゃないから、Linuxサーバー機に手作業で作成する。

テーブルの作成

これまでの経験からいえば、テーブル作成だけはコード(プログラミング)化しておいたほうが後々仕様が変わった場合に楽である。しかし今回は参考書があるので、テーブル構造はそっくりパクルことにしたので、テーブル作成も手作業で行うことにする。

テーブル構造

マスタテーブル(bbsmaster)

フィールド名データ型概要
idint(11)投稿ID
titlevarchar(50)タイトル
namvarchar(20)投稿者名
sdatdatetime投稿日時
articletext記事本文
passwdvarchar(15)削除用パスワード
parentint親記事ID
levelint階層レベル

新規投稿画面作成

新規投稿画面をとりあえず作成した。掲示板新規入力(テスト版)これはあくまでもテスト版である。後にCSSとJavaScriptで使いやすいように改造をすることにする。

なにか足りないぞ

新規投稿画面を作成中に投稿者のURLとメールアドレスが足りないことに気がついた。この二つはあっても無くてもいいのだが、つけておくことにする。最初は最低限の機能だけということなので、全システムがある程度動作するようになってから付加することにする。

新規投稿画面ソース

<?php
/*--- 掲示板新規入力処理----*/
	/*登録ボタンsbが押されていなかったら、入力フォームを表示する。
	登録ボタンsbが押されたら登録処理を行い、呼び出されたページに戻る*/

if(!isset($sb)){
?>
<html>
	<head>
		<title>掲示板新規作成</title>
	</head>
<body>
	<h1>新規記事作成</h1>
	<form method="post">
	<table boeder="1" width="500" cellpadding="5">
		<tr><th>件名</th><td><input type="text" name="title" size="70" maxlength="50" /></td></tr>
		<tr><th>投稿者</th><td><input type="text" name="nam" size="70" maxlength="20" /></td></tr>
		<tr><td colspan="2"><textarea name="article" cols="70" rows="15"></textarea></td></tr>
		<tr><th nowrap>削除用パスワード</th><td><input type="password" name="passwd" size="15" /></td></tr>
	</table>
		<input type="submit" name="sb" value="投稿" />
		<input type="reset" name="sb" value="取消" />
	</form>
</body>
</html>
<?php
}else{
/*---投稿ボタンが押されたら----*/
	//SQLの生成処理

	$article = nl2br($article);
	$sql = "INSERT INTO bbsmaster(title,nam,sdat,article,passwd) VALUES
	 ('".$title."','".$nam."','".date("Y/n/d G:i:s")."','".$article."','".$passwd."')";
		//DB接続
			$conn=mysql_connect("*****","******","*******");
			if ($conn==False){exit;}
			mysql_select_db("l_bbs",$conn);
		//新データ追加
			$rs = mysql_query($sql,$conn);
		//DB切断
			mysql_free_result($rs);
			mysql_close($conn);
//	header(Location: index.php)
}
?>

投稿一覧表示画面

掲示板の新投稿処理はとりあえず動作させることに成功したので、次は投稿されたものを表示させる処理を手がける。ここはかなり難航するだろうなと予測する。なぜならスレッド表示を実現しなければいけないからだ。とりあえず参考書のとおり打ち込んで見ることにする。

今回の一連の処理のなかでこの処理が一番の山場であろうことは容易に想像がつく。さっそく参考書のコードを読んで見る。理解できんとことろが多々ある。なにせプログラムをやらなくなって3年ほどになる。どうも歳を重ね過ぎてくると、パソコンの細かい文字を見る意欲さえ失せてしまっている。ましてプログラムを作成するなんてことは若い連中に任せるのに限るのだが。

記事表示処理

理解できないコードが早速でてきてしまった

全てのコードを理解しようなんて最初から思っていないのだけど、最終的にどうであっても動作すればそれで良しなんだけど。でも何をやっているのか全然わからないっていうのも気持ちが悪いことだ。

		header("Exprite: Tue,1 Jun 1980 00:00:00 GMT");
		header("Last-Modifid: ".gmdate("D, d M Y H:i:s ")." GMT");
		header("Cache-Control: no-cache,must-revalidate");
		header("Pragma: no-cache");

一番最初に書かれているこの4行がさっぱりわからない。後に調査しておく必要がありそうだ。

次にわからないのはこの処理の心臓部である部分である。これは多分データベースからデータを配列変数$aryColに格納して順番に回して表示させている部分だと思われるが、そのデータを収得する部分($db->fetchRow($rss,DB_FETCHMODE_ASSOC)が悩ましい。まだ完全に書き写したわけでないから動作するかどうかはこの時点では不明である。もし動作しなければ徹底的に調査しなければいけない部分である。●の部分である。

	function disp($rss){
		global $db;
		●while($aryCol=$db->fetchRow($rss,DB_FETCHMODE_ASSOC)){
			print();
		}else{

		}
	}
		

朗報です!!一発免許のためのDVDとマニュアルが発売されています。

自動車運転免許証失効された貴方に贈る。一発免許サイト管理人ぽー

一発試験 必勝合格テクニック研究所というところから一発免許のためのDVDと冊子がセットになって発売されています。

やはり映像というのは圧倒的な情報量と、かなりの説得力がありますね。特に安全確認のための目視のタイミングなんてものはいくら文章と写真で説明しても説明できないもどかしい部分であります。それをこのDVDの映像ではあっさりと実にわかりやすく説明されてしまっています。なんだか、あまりにあっさりと納得させられてしまって、私は少し(かなり)悔しいです。やられたっていう感じです。

それから私が知らなかった部分ってのもかなり網羅されています。言われて見ればなあーるほどと納得するのですが、指摘されなければそのまま知らないでいたことがたくさんありました。それは残念ながらこのサイトにはアップすることはできません。

「一発免許必勝合格マニュアル」という冊子版も実に合理的に分類され、しかも丁寧でわかりやすく解説されているのには好感が持てますが、私が感心したのは他にA4の印刷物がおまけについてきているんですが、これがまた驚きの情報です。なにせ全国の運転免許センターに電話をかけまくって得た情報だというんだから脱帽ですね。そこまでやるかって感じで開いた口が塞がりません。これもここにアップすることはできないのが実に残念です。

一発免許を一発で合格したいと考える方は購入を考えてもいいのではないでしょか。運転免許に関する書籍は数多く出ていますが、一発免許者だけをターゲットにした教材はおそらく日本で初めてではないでしょうか。こちら「一発試験 必勝合格テクニック研究所」をご覧になってください。

また今回、作者の藤冨氏に特別にお願いして、体験談を投稿していただきました。こちらから「私が一発免許のDVDを作成した理由」をどうぞ。涙なしには読めません。(ウソウソ)

一発免許研究所より提供されたDVDダイジェスト版

一発免許合格研究所では、特別に3分間のDVDダイジェスト版を用意しましたので、ご覧ください。再生時に音声がでますので、あらかじめご了承ください。

「運転ができる」だけでは落ちる

一発免許 必勝合格テクニック研究会藤冨(ふじとみ)

はじめまして!『一発免許 必勝合格テクニック研究会』の藤冨(ふじとみ)です。
お恥ずかしい話ですが、私は以前、スピード違反と酒気帯び運転で2度も捕まり、免許取消になりました。
その前年の交通違反の罰金と合わせて総額28万円も支払った上に免許取消になってしまったため、カミさんからは
「さらに教習所代に20万ものお金が出せるわけないでしょ!」
と激怒され、一発試験を受けることになりました。
実は私も、あるキッカケが無ければ、何も知らずに一発試験を受けに行くところでした。 そして間違いなく不合格になるところでした。
免許の試験は「運転がきちんとできること」を試験する場ではなく、「安全運転がきちんとできること」を試す場なのです。
そのことに気づくことができたお陰で、私は意識を変え、まずは受験を1ヶ月延期しました。 そして、必死に情報収集を行い、トレーニングに取り組んだのです。
その結果、1回目の受験で見事、仮免技能を突破することができました。
しかも、基本中の基本がわかったおかげで、本免許(路上)まで1回も落ちることなく、免許をゲットすることができたのです!

あなたの時間とお金を大切にしてください

一発免許 必勝合格テクニックDVD教材

免許を再度取得するためにはいくつかの方法があります。
1つは認可された教習所に通うこと。
仮免許の取得は楽かもしれませんが、費用は20万円以上かかりますし、2週間〜1ヶ月以上の時間をかけるのは、はっきり言ってバカらしいですよね。
また、一度も免許を取ったことのない人たちと同じ土俵で勝負するなんて、プライドが許さないという人も多いのではないでしょうか。
また、一発試験に対応した教習所という手もあります。
この場合、80,000円くらいかかる上、3日もの間、拘束されてしまいます。
ご注文はこちらから

一発免許研究所

一発試験必勝合格マニュアル
挑戦!一発免許Ver2

自動車運転免許を直接試験で受験する方を応援する新サイトを立ち上げました。まだ未完成ですが、是非「挑戦!一発自動車免許Ver2」も参考になさってください。

運転免許失効された方に・・・

自動車運転免許を失効された方に送る。一発免許・技能審査・DVD教材

 いまさら「免許をとるために自動車教習所に通うので、休ませてください」とはとても、会社には言い出せる状態ではないのです。
 それなりの資金も用意しているのですが、とにかく時間が取れないことが一番の問題なのであります。
 それに一発免許は超難関だと聞いてるので直接免許試験を受けて合格するのかも心配なのです。


一発免許合格研究所