OSO を訪れたことがある人は皆、OSO のフォーラムに深い感銘を受けると思います。あなたのホームページにこのような美しいフォーラムを作りたいですか? 実際、以下では OSO フォーラムの基本的な部分だけを模倣します。
私はこのフォーラムを掲示板としてのみ使用しているため、私のフォーラムは OSO フォーラムと単純に一致すると考えることができます。 1. 私のフォーラムでは、ユーザーはログイン後にのみ発言できます。ユーザーの ID は「cookie_user」という Cookie 変数に保存されます。 2. 私のフォーラムにはサブフォーラムがありません。3. クリック数はカウントされません。 4. OSO フォーラムの各トピックの前に、新しい投稿があるかどうかを示すアイコンをデザインしていません。 5. OSO フォーラムが提供するオプションのトピックの配置と表示期間を考慮していません。 . メンバーが投稿したポイントに関する統計はありません。 8. モデレータがフォーラムを管理する機能はありません。最後に、私のプログラムに基づいてこれら 8 つの関数を拡張する方法について触れます。
まず、データベースの設計です。実際、フォーラムには 2 つのデータ テーブルが含まれており、ユーザー テーブルには登録ユーザーの情報が保存されます。作成ステートメントは次のとおりです。
create table my_user(
user_id char(12) not null,/*username*/
user_password varchar(8) not null,/*user password*/
PRIMARY KEY (user_id)
)
ゲストブックには投稿コンテンツが保存されます。作成内容は以下のとおりです。
CREATE TABLE guestbook (
id bigint DEFAULT '0' NOT NULL auto_increment,/*speak id, auto-increment field*/
name varchar(12) NOT NULL,/ *トピック作成者*/
type tinyint NOT NULL,/*type 0-reply; 1-main post*/
テーマ varchar(50) NULL,/*theme*/
コンテンツ blob NOT NULL, /*content */
icon tinyint NOT NULL,/*emoticon*/
time_open datetime not NULL,/*トピック作成時刻*/
time_close datetime not NULL,/*最終返信時刻*/
answer_count int not null,/*返信数*/
Answer_name varchar(12) not null,/*最後の返信者*/
main_id bigint null,/*メイン投稿 ID*/
PRIMARY KEY ( id) /**/
);
プログラムには 5 つの php ソース コードが含まれています: connect.inc.php、faq.php、read.php、post.php、reply.php、post_end.php
connect.inc.php: (データベースへの接続に使用されます)
$dbhostname = "";
$dbpassword = ""; >$ dbName = "";
MYSQL_CONNECT($dbhostname, $dbusername, $dbpassword) OR DIE("データベースに接続できません");
@mysql_select_db( "$dbName") または die( "データベースを選択 "); " ;