X3 2discuz 發帖步驟

2021-07-02 13:15:21 字數 1899 閱讀 2035

1、主題表 pre_forum_thread:這個表乙個主要資料就是 tid 主題id

2、post 分表協調表 pre_forum_post_tableid:這裡需要獲取乙個自增的 pid

3、帖子表 pre_forum_post :記錄主題pid、fid、tid、title、content等主要資訊

4、版塊表 pre_forum_forum:這裡主要更新版塊的主題、帖子數量

5、帖子主題審核資料表 pre_forum_thread_moderate:這個可以根據自己狀況決定,並不是必須的

6、使用者統計表 pre_common_member_count:主要是更新使用者的主題數量

自己處理發帖主要涉及到了上面6個資料庫表,其中第5個不是必須的。

大致流程是這樣的:

第一步:向 主題表 pre_forum_thread 中插入版塊id、使用者id、使用者名稱、帖子標題、發帖時間等資訊。

$thread_model = m('forumthread');

$time = time();

$thread_data=array(

'fid'=>$data['fid'],

'author'=>$data['author'],

'authorid'=>$data['authorid'],

'subject'=>$data['subject'],

'dateline'=>$time,

'lastpost'=>$time,

'lastposter'=>$data['author'],

'status'=>'32',

'isgroup'=>'1',

);

第二步:獲取第一步插入表 pre_forum_thread 的資料id,作為主題id,即 tid

第三步:向 post 分表協調表 pre_forum_post_tableid 插入一條資料,這張表中只有乙個自增字段 pid

第四步:獲取 第三步 插入表 pre_forum_post_tableid 的資料id,作為 pid

$post_data=array(

'pid'=>$pid, //帖子id

'tid'=>$tid, //論壇id

'fid'=>$data['fid'], //主題id

'first'=>'1', //首帖為1

'author'=>$data['author'], //作者名稱

// 'invisible'=>'-2', //-2未審核狀態

'anonymous'=>empty($data['anonymous'])? '0' : '1' , //是否匿名

'authorid'=>$data['authorid'], //作者id

'subject'=>$data['subject'], //主題標題

'message'=>$data['message'], //內容

'dateline'=>$time, //發布時間

);

第七步:更新使用者 pre_common_member_count 帖子數量資訊

discuz發帖過程主要就是以上7個步驟,通過這幾個步驟就可以完成對實現discuz的發帖流程,其中設計到一些積分等其他資訊的可以自己加上。

discuz登入流程解析 版本X3 2

discuz登入流程解析,最近在研究,ucenter的同步登陸機制,就先從discuz的登入開始了 1.form表單提交 member.php?mod logging action login loginsubmit yes handlekey login loginhash lm137 inaja...

Discuz 公升級X3問題彙總整理

最近一段時間公司的社群垃圾帖數量陡然 以至於社群首頁的推薦版塊滿滿都是垃圾帖的身影,為了進一步解決垃圾帖問題我們整整花了1天時間刪垃圾貼,清除不良使用者,刪的手都酸了,可見垃圾帖的數量之多!可恥的刷帖機,可惡的發廣告的人,因此我們決定增大discuz的驗證機制,並進一步重新完善使用者的許可權,從註冊...

x32下的DLL隱藏

原理主要就是peb 中模組斷鏈.這裡整理下 原理可以看下另一篇我寫的帖子.dllmain.cpp 定義 dll 應用程式的入口點。include stdafx.h include include typedef struct unicode string unicode string typedef...