ホームページ  >  記事  >  バックエンド開発  >  OSOを模倣したフォーラム(1)_PHPチュートリアル

OSOを模倣したフォーラム(1)_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 16:02:05929ブラウズ


OSO に行ったことのある人は皆、OSO フォーラムに深い感銘を受けると思います。あなたのホームページにこのような美しいフォーラムを作りたいですか? 実際、以下では OSO フォーラムの基本的な部分だけを模倣します。
私はこのフォーラムを掲示板としてのみ使用しているため、私のフォーラムは OSO フォーラムと単純に一致すると見なすことができます。 1. 私のフォーラムでは、ユーザーはログイン後にのみ発言できます。ユーザーの ID は「cookie_user」という Cookie 変数に保存されます。 2. 私のフォーラムにはサブフォーラムがありません。3. クリック数はカウントされません。 4. OSO フォーラムの各トピックの前に、新しい投稿があるかどうかを示すアイコンをデザインしていません。 5. OSO フォーラムが提供するオプションのトピックの配置と表示期間を考慮していません。 7. メンバーの投稿ポイントに関する統計はありません。 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,/*speech id, auto-increment field*/
name varchar(12) NOT NULL,/*topic Creator*/
type tinyint NOT NULL,/*type 0-reply; 1-main post*/
テーマ varchar(50) NULL,/*theme*/
コンテンツ blob NOT NULL,/*content*/
icon tinyint NOT NULL,/*絵文字 */
time_open datetime not NULL,/*トピック作成時刻*/
time_close datetime not NULL,/*最終返信時刻*/
Answer_count int not null,/*number of replies*/
Answer_name varchar(12) not null ,/ *最後の返信者*/
main_id bigint null,/*メイン投稿 ID*/
PRIMARY KEY (id)/**/
);
プログラムには 5 つの php ソース コードが含まれています: connect.inc.php、php。 、read.php、post.php、reply.php、post_end.php
connect.inc.php: (データベースへの接続に使用されます)
$dbhostname = "localhost";
$dbpassword = "";
$dbName = "";
MYSQL_CONNECT($dbhostname, $dbpassword) OR DIE("データベースに接続できません")
@mysql_select_db( "$dbName"); " データベースを選択できません");
?>


faq.php: (トピック リストの表示に使用されます)
トラブルシューティング ="mypic/style.css" rel=STYLESHEET type=text/css>
; ;

メンバーのみがここで発言できます



include "connect.inc.php"; "select count(*) from guestbook where type=1"; $total/20)+1; echo $total; :
= 1%>                     $res = mysql_query($query);  
$row = mysql_fetch_row($res);  
echo $row[0];
?>







function TdBackColor() {
static $ColorStr;
if ($ColorStr=="#ededed") {
$ColorStr="#ededed";
} else {
$ColorStr="#ededed";
}
return($ColorStr);
}
if (!$page) $page=1;
$ysylimit=($page-1)*20; " 、20 ";  
$res = mysql_query($query);  
for ($i=0; $i<20; $i++) {
$row = @mysql_fetch_array($res);  
if(!$row) ブレーク;
$ColorStr=TdBackColor();
echo "";  
echo "";
$ii=$row['answer_count']-1;
echo "";
echo "";
echo "< /TR>";}
?>
href="post.php"> border=0
src="mypic/post.gif">

color=#ffffff>创建人 color=#ffffff>回复 color=#ffffff>回复人 color=#ffffff>最終回复時間
".$row['テーマ'];
エコー「
」;
if ($row['answer_count']>5)
{echo " echo "class=small color=#666666> 分页:";
for ($j=1;$j<=($row['answer_count']-1)/5+1;$j++) echo "";  
}
エコー "
";  
echo $row['name']."
".$ii."";  
echo $row['answer_name']."
".$row['mydate']."



分页
$page1=$page-1;
$ページ2=$ページ+1;
if ($page==1) echo "首页 前页 ";  
else echo "首页 前页< ;/A> ";  
if ($page==$totalpage) echo "後页 尾页 ";  
else echo "
後页 尾页 ";  
?>
当前页:  转到第 页  



www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/316720.html技術記事それぞれがOSOを超えた人々に向けたメッセージは、OSOのコンセプトに対して非常に深い印象を残していますが、このコンセプトは、その面から見ても非常に顕著です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。