中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術(shù)文檔 > 網(wǎng)絡(luò)編程 > 我的微型論壇的簡單教程
珊瑚蟲IP庫淺析 回到列表 使用EditPlus自制的函數(shù)查詢功能
 我的微型論壇的簡單教程

作者:numsix 時間: 2006-12-19 文檔類型:原創(chuàng) 來自:藍(lán)色理想

第 1 頁 我的微型論壇的簡單教程 [1]
第 2 頁 我的微型論壇的簡單教程 [2]
第 3 頁 我的微型論壇的簡單教程 [3]
第 4 頁 我的微型論壇的簡單教程 [4]
第 5 頁 我的微型論壇的簡單教程 [5]
第 6 頁 我的微型論壇的簡單教程 [6]
第 7 頁 我的微型論壇的簡單教程 [7]
第 8 頁 我的微型論壇的簡單教程 [8]
第 9 頁 我的微型論壇的簡單教程 [9]

因為論壇本身的設(shè)置是如果該論壇完全開放的話,游客可以發(fā)帖子。

<?php
if(!isset($_SESSION["username"])){
    $_SESSION["username"]="Guest";
}
?>

那么該論壇的頁面應(yīng)該相應(yīng)的有添加帖子的按鈕:

<?php
$F=$_GET["F"];
$result=mysql_fetch_array(mysql_query("select isguest from forums where ID='$F'"));
$isguest=$result["isguest"];    //從數(shù)據(jù)庫中提取該論壇版塊是否完全開放,如果完全開放游客就可以發(fā)帖子了,否則只有注冊用戶才可以 if($isguest==0){
    if($_SESSION["username"] && $_SESSION["islogined"]) echo"<a href=addnew.php?F=$F><img src=\"images/add.gif\" /></a>";
}else{
    echo"<a href=addnew.php?F=$F><img src=\"images/add.gif\" /></a>";
}
?>

addnew.php?F=N 這里傳遞函數(shù)。表明添加新帖子要添加到論壇版塊。
添加頁面如圖所示:


點擊放大

這里的表單里會有一個隱藏字段,記錄論壇版面的ID號。

處理表單非常簡單,就是INSERT來實現(xiàn):

<?php
require_once "global.php";
require_once "conn.php"; $F=$_POST["F"];
$title=$_POST["title"];
$content=$_POST["Content"];
$author=$_POST["username"];
$face=$_POST["face"]; $result=mysql_fetch_array(mysql_query("select isguest from forums where ID='$F'"));
$isguest=$result["isguest"]; //下面肯定要再驗證一下該論壇版塊用戶是否可以發(fā)帖
if($isguest==0){
    if(empty($_SESSION["username"])||empty($_SESSION["islogined"])){
    echo "<script>alert('您尚未登陸,請先登陸!');location='login.php';</script>";
    exit();
    }
} $sql="insert into topic (title,author,last_post_author,last_post_time,no_of_hit,no_of_reply,
locked,face,topic,good,forum_id) values ('$title','$author','$author',now(),0,0,0,'$face',0,0,'$F')";
mysql_query($sql); $topicID=mysql_insert_id();    //這里:mysql_insert_id()函數(shù)可以取出剛才插入操作成功后的ID值; //插入到主題表是第一步 $sql="insert into thread (topicID,face,title,author,post_time,subject) values ('$topicID','$face','$title','$author',now(),'$content')";
mysql_query($sql); //插入到帖子表是第二步 if($author!="Guest"){
$sql="update member set no_of_post = no_of_post + 1 where username='$author'";
mysql_query($sql); //如果不是游客的話就更新用戶表。其實這里用戶表中開始就應(yīng)該存在一個管理員和一個游客的信息。游客發(fā)帖子默認(rèn)的值為空,這樣即使更新也更新不了。
}
?>

現(xiàn)在我們來看thread.php。這個頁面和forums.php有很相似的地方,包括分頁。只是這里提取了thread表中的所有數(shù)據(jù)。

如下:

<?php
$sql="select A.ID,A.title,A.author,A.post_time,A.subject,A.face,B.groupID,B.email,
B.headimg,B.homepage,B.qq,B.MSN,B.jointime,B.no_of_post,B.sign from thread A,member B where A.topicID=$T and A.author = B.username order by A.post_time asc limit $p_start,$tread_list_rows";
$result=mysql_query($sql);
//這里的SQL語句是查詢2個表,MEMBER和THREAD表。 $sqlno="select * from thread where topicID='$T'";
$number=mysql_num_rows(mysql_query($sqlno)); while($row=mysql_fetch_array($result)){ //這里是HTML代碼 }
?>

果當(dāng)前用戶有權(quán)限發(fā)表帖子,那么每頁下面將出現(xiàn)快速回復(fù)的表單。


點擊放大

<?php
if($isguest==0){
    if($_SESSION["username"] && $_SESSION["islogined"]){
        //這里是快速回復(fù)的HTML表單
    }
}else{
//這里是快速回復(fù)的HTML表單
} //思路也很簡單,如果完全開放,自然而然就出現(xiàn)回復(fù)表單,允許回復(fù);否則如果用戶登陸,就出現(xiàn)回復(fù)表單。
?>

回復(fù)表單里要有主題帖子的ID編號。

回復(fù)的代碼同樣是插入,然后更新相關(guān)表。

<?php
require_once "global.php";
require_once "conn.php"; $F=$_POST["F"];
$T=$_POST["T"];
$title=$_POST["title"];
$content=$_POST["Content"];
$author=$_POST["username"];
$face=$_POST["face"];$result=mysql_fetch_array($db->db_query("select isguest from forums where ID='$F'"));
$isguest=$result["isguest"];

if($isguest==0){
    if(empty($_SESSION["username"])||empty($_SESSION["islogined"])){
    echo "<script>alert('您尚未登陸,請先登陸!');location='login.php';</script>";
    exit();
    }
}

$sql="insert into thread (topicID,face,title,author,post_time,subject) values ('$T','$face','$title','$author',now(),'$content')";
$db->mysql_query($sql);
//插入表,同時記錄TOPIC的主鍵 $sql="update topic set last_post_author ='$author',last_post_time=now(),no_of_reply = no_of_reply + 1 where ID = '$T'";
$db->mysql_query($sql);
//更新主題表,最后回復(fù)人,最后更新時間 $sql="update forums set last_post_author='$author',last_post_time=now() where ID='$F'";
$db->mysql_query($sql);
//更新論壇版塊的信息,最后回復(fù),最后更新時間 if($author!="Guest"){
$sql="update member set no_of_post = no_of_post + 1 where username='$author'";
mysql_query($sql);
//更新發(fā)帖人的發(fā)帖數(shù)量
}
?>

編輯帖子,同樣要求權(quán)限。必須登陸;用戶必須是帖子的作者;管理員可以管理所有的帖子

<?php
if($_SESSION["groupID"]=="2"){
    echo"&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"editor.php?F=$F&T=$T&ID=$ID\" class=\"forum\">編輯</a>";
    }elseif($_SESSION["username"] && $_SESSION["islogined"]){
    if($_SESSION["username"]==$author) echo "&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"editor.php?F=$F&T=$T&ID=$ID\" class=\"forum\">編輯</a>";
}
?>


點擊放大

<?php
require_once "global.php";
require_once "conn.php"; $F=$_GET["F"];
$T=$_GET["T"];
$ID=$_GET["ID"];
if(empty($F)||empty($T)||empty($ID)) echo "<script>history.back;</script>"; $sql="select A.author,A.title,A.face,A.subject,B.title as topictitle from thread A,topic B where A.ID='$ID' and A.topicID=B.ID";
$rs=mysql_fetch_array($db->db_query($sql));
$rename=$rs["author"];
$title=$rs["title"];
$face=$rs["face"];
$topictitle=$rs["topictitle"];
$resubject=$rs["subject"]; if($_SESSION["groupID"]!="2"){
if(($_SESSION["username"]!=$rename)||empty($_SESSION["islogined"])) echo "<script>history.go(-1);</script>";
} $sresult=mysql_fetch_array(mysql_query("select forum_name,isguest from forums where ID='$F'"));
$forum_name=$sresult["forum_name"]; //這里檢查當(dāng)前用戶是否有編輯帖子的權(quán)限,并且按照ID號提取出該帖子的所有內(nèi)容
?>

處理編輯的帖子就是更新原先數(shù)據(jù)。這里不做多說了。

//////////////////////////////////////////////////
下面到了個人資料管理。control.php,管理“我的資料”

這里比較簡單,也不再寫了。

正如5do8所說的,最好要把常用的程序(如連接數(shù)據(jù)庫)寫成類,容易管理,而且速度和性能上也有提高。我是個菜鳥,對于類不甚了解,想了解這個東西的朋友請參照這里:
http://www.phpchina.com/bbs/viewthread.php?tid=13765&highlight=

這里是按照我的理解來寫的這個論壇的連接數(shù)據(jù)庫類:dbclass.php

class Eastsin {
    function db_connect($db_host_ip,$db_login_name,$db_login_password){
    mysql_connect($db_host_ip,$db_login_name,$db_login_password);
    }
    function db_select($db_name){
    mysql_select_db($db_name);
    }
    function db_query($sql){
    return mysql_query($sql);
    }
    function db_fetch_array($result){
    return mysql_fetch_array($result);
    }
    function db_result($query,$row){
    return mysql_result($query,$row);
    }
    function db_rows($query){
    return mysql_num_rows($query);
    }
    function db_ID(){
    return mysql_insert_id();
    }
    function db_close(){
    mysql_close();
    }
}

在使用的時候:

$db=new Eastsin;  //初始化一個類,并把這個對象賦給變量$db
$db->db_selsct($dbname);    //訪問類的方法,類中定義的函數(shù)即為類的方法。 $sql="....";
$db->db_query($sql);
/*
上面兩句等同于:
$sql="....";
mysql_query($sql);
類中其他方法的使用同上;
*/

我的論壇還在完善中,還有關(guān)于安全性、容錯處理等我也再學(xué)習(xí)中。一個小論壇從思路上講還是比較簡單的,但是真正做起來還是要費些力氣和腦筋的。 (源文件請大家允許我稍后發(fā)布)

這樣,這個小教程算是簡單的完成了。作者水平有限,也沒有寫過教程的經(jīng)驗,所以里面的不足之出大家多包涵指點。在此謝謝大家。
我的
QQ:278502721;
MSN:fengyuedao#hotmail.com或eastsin.com#hotmail.com;
E-mail:numsix#163.com
以上將#換成@
希望得到您的指導(dǎo)。

經(jīng)典論壇討論
http://bbs.blueidea.com/thread-2703251-1-1.html

本文鏈接:http://m.95time.cn/tech/program/2006/4352.asp 

出處:藍(lán)色理想
責(zé)任編輯:moby

上一頁 我的微型論壇的簡單教程 [8] 下一頁

◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論

相關(guān)文章 更多相關(guān)鏈接
Fireworks給美女來點顏色
Fireworks教程-Lost RGB
Fireworks制作云彩
Flash處理XML文檔數(shù)據(jù)教程
PS制作從烏云中透出陽光
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計比賽 網(wǎng)頁制作 web標(biāo)準(zhǔn) 用戶體驗 UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點最新 站點最新列表
周大!熬•自然”設(shè)計大賽開啟
國際體驗設(shè)計大會7月將在京舉行
中國國防科技信息中心標(biāo)志征集
云計算如何讓安全問題可控
云計算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機會
阿里行云
云手機年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機主題設(shè)計大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個可愛的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機制之一:普通流
25個最佳最閃亮的Eclipse開發(fā)項目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁 首頁 前頁 后頁 尾頁 頁次:9/91個記錄/頁 轉(zhuǎn)到 頁 共9個記錄

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準(zhǔn)打上各自站點的水印,亦不能抹去我站點水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計作品,如需使用,請與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯誤,請用報告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關(guān)的廣告鏈接,違者封ID
請您注意:
·不良評論請用報告管理員,以利管理員及時刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評論管理人員有權(quán)保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報告錯誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計》
犀利開發(fā)—jQuery內(nèi)核詳解與實踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2