一個簡潔的多級別論壇
發表時間:2024-02-16 來源:明輝站整理相關軟件相關文章人氣:
[摘要]本論壇總共用了不到200行代碼,執行速度相當快。運行例子在:http://www.hnpts.ha.cn/forum MYSQL數據庫:yxforum +-------+--------------+------+-----+---------+----------------+ Field...
本論壇總共用了不到200行代碼,執行速度相當快。運行例子在:http://www.hnpts.ha.cn/forum
MYSQL數據庫:yxforum
+-------+--------------+------+-----+---------+----------------+
Field Type Null Key Default Extra
+-------+--------------+------+-----+---------+----------------+
id int(11) PRI 0 auto_increment
dt datetime YES NULL
tp varchar(255) YES NULL
ct text YES NULL
fl int(11) YES NULL
ip varchar(20) YES NULL
un varchar(50) YES NULL
em varchar(60) YES NULL
num int(11) YES NULL
+-------+--------------+------+-----+---------+----------------+
index.php:
<html>
<head>
<style type="text/css">
<!--
.unnamed1 { font-size: 9pt; font-family: "宋體"}
.unnamed1 A {COLOR: #000088; FONT-SIZE: 9pt; TEXT-DECORATION: none; TEXT-TRANSFORM: none; font-family: "宋體"}
.unnamed1 A:hover {COLOR: #880000; FONT-SIZE: 9pt; TEXT-DECORATION: underline overline; font-family: "楷體_GB2312"}
.unnamed2 { font-size: 12px; color: #9933FF}
-->
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#000066" vlink="#0000CC" alink="#000099">
<?$m=mysql_connect("localhost","××××","××××");
mysql_select_db("××××",$m);
?>
<?if ($fl=="") $fl=1;
$hf_fl=$fl;
$q="select * from yxforum where id=".$fl;
$mr=mysql_query($q,$m);
$ra=mysql_fetch_row($mr);
?>
<p align=center><b><?print($ra[2]);?></b><br>
<?if ($fl!=1) {
?>
<small><?printf("(<a href=mailto:%s>%s</a>) ",$ra[7],$ra[6]);?>
</small></p>
<?$alltt=$ra[2];
$lastid=$ra[4];
print("<center><table width=90% border=1><tr><td bgcolor=#dddddd class=unnamed1>".$ra[3]."</tr></table></center>");
print("<br><small>跟隨主題:</small>");
}
$q="select * from yxforum where fl=".$fl." order by dt desc";
if ($p=="") $p=0;
$mr=mysql_query($q,$m);
$f=mysql_num_fields($mr);
$ra=mysql_fetch_row($mr);
$i=0; $p1=$p*15; /*跳過指定的頁數對應的行*/
while ($i<$p1)
{$i++;
$ra=mysql_fetch_row($mr);
if (! $ra) break;}
?>
<center>
<table border=0 width=732 class="unnamed1">
<tr align="center" valign="top" bgcolor="#FFFFCC">
<td width="186" >最新回應時間
<td width="88">發表人
<td width="414">主題
<td width="44">回應數
</tr>
<?
$x[0]="ffffcc";$x[1]="DEEFFF";$i=1;
while ($ra) /*顯示目前的主題*/
{$ys_c=$i%2;
print("<tr height=12 bgcolor=#".$x[$ys_c]."><td align=center>".$ra[1]);
print("<td align=center><a href=mailto:".$ra[7].">".$ra[6]."</a>");
print("<td>");
printf("<a href=index.php?fl=%s>%s</a>",$ra[0],$ra[2]);
print("<td align=center>".$ra[8]);
print("</tr>");
$ra=mysql_fetch_row($mr);
$i++;
if ($i>15) break;
}
?>
</table></center>
<form action=index.php method=get name=F0 onsubmit="document.F0.p.value--;return true;">
<span class=unnamed1>
<?
$alllines=mysql_affected_rows($m);
$pages=$alllines/15;
if ($pages-intval($pages)!=0) $pages=intval($pages)+1;
else $pages=intval($pages);
print("共".$pages."頁 第".($p+1)."頁 ");
if ($p>0) {printf("<a href=index.php?fl=%s>首頁</a> ",$hf_fl);
printf("<a href=index.php?fl=%s&p=%d>上一頁</a> ",$hf_fl,$p-1);}
if ($ra) {printf("<a href=index.php?fl=%s&p=%d>下一頁</a> ",$hf_fl,$p+1);
printf("<a href=index.php?fl=%s&p=%d>末頁</a> ",$hf_fl,$pages-1);}
?>指定第<input type=text size=2 name=p>頁
</span>
<span class=unnamed1>
<?if ($hf_fl!=1) {printf("<br><a href=index.php?fl=%s>上一級</a> ",$lastid);
print("<a href=index.php>最高級</a><br>");}
?>
</form><center>
<table width=80% bgcolor=#eeeeff><tr><td class=unnamed1>
<?print(($fl==1)?"加新貼:":"回應:");?>
<form action="addnew.php" method=post name="F1">
姓名:
<input type="text" name="nm" size="15">
<br>
Email:
<input type="text" name="em" size="45">
<br>
標題(必填):
<input type="text" name="tt" size="45" <?if ($fl!=1) print("value=回復:".$alltt);?> >
<input type=hidden name="fl" value="<?print($hf_fl);?>">
<input type=hidden name="p" value="<?print($p);?>">
<br>
正文(必填): <br>
<textarea name="zw" cols="50" rows="10"></textarea>
<input type="submit" name="Submit" value="提 交">
</form>
</tr></table></center>
<hr>
<center>自用論壇程序0.25版 設計工具:PHP+MYSQL<br>
<a href=mailto:
[email protected]>古鉞青劍</a> 制作<br><a href=http://www.fhlfox.dhs.org>逍遙飛狐多媒體作坊</a> 2000 </center>
</span>
</body>
</html>
addnew.php:
<?$m=mysql_connect("localhost","×××","×××××");
mysql_select_db("×××××",$m);
$zw=ereg_replace("<","<",$zw);
$zw=ereg_replace(">",">",$zw);
$zw=ereg_replace("n","<br>",$zw);
$zw=ereg_replace(" "," ",$zw);
$tt=ereg_replace("<","<",$tt);
$tt=ereg_replace(">",">",$tt);
if ($nm=="") $nm="無名寶";
if ($em=="") {$nm.="<-- 是一只沒有MAIL的菜鳥";$em="No";}
$err=strlen($tt)*strlen($zw);
if ($err==0)
$msg="<font color=red>不要偷懶嘛!把表格填完再提交不遲。</font>";
else {$q="insert into yxforum (dt,tp,ct,fl,ip,un,em,num) values"
."(now(),"".$tt."","".$zw."",".$fl.","".$REMOTE_ADDR."","".$nm."","".$em."",0)";
mysql_query($q,$m);
$q="select num,fl from yxforum where id=".$fl;
$fl_a=$fl;
do { $mr=mysql_query($q,$m);
$ra=mysql_fetch_row($mr);
$num=$ra[0]+1;
$q="update yxforum set dt=now(),num=".$num." where id=".$fl;
$fl=$ra[1];
mysql_query($q,$m);
$q="select num,fl from yxforum where id=".$fl;
} while ($fl>0);
$msg="<font color=green>你的意見已經成功提交!</font>";
}
?>
<html>
<head>
<script language="Javascript">
function go()
{document.location="index.php?fl=<?print($fl_a);?>&p=<?print($p)?>";
}
</script>
<body onload="setTimeout('go()',3000);">
<?print($msg);?><br>
系統將在3秒鐘以后自動返回。如果不能返回或者你著急,請按<a href=index.php?fl=<?print($fl_a);?>&p=<?print($p)?>>這里</a>
</body>