我的论坛源代码(二)
主界面,也就是显示主题列表的这页。
//foxbbs.php 功能:显示论坛的主题
<HTML>
<HEAD>
<TITLE>狐网论坛</TITLE>
<STYLE type=text/css>
P {FONT-FAMILY: normal; FONT-SIZE: 9pt; LINE-HEIGHT: 14pt}
DIV {FONT-FAMILY: normal; FONT-SIZE: 9pt; LINE-HEIGHT: 14pt}
</STYLE>
<LINK href="js/lfox.css" rel=stylesheet /LINK>
<?php
include "linkfox.inc.php";
include "info.inc.php";
?>
</HEAD>
<body bgcolor="#FFFFFF">
<?
$tem=$HTTP_COOKIE_VARS[FlyFoxNet]; //这里取COOKIE里的信息
$temp=explode("|",$tem); //因为用户名和密码是用"|"分隔并记录在COOKIE里的
$cookiem=$temp[0]; //取用户名
$useinfo=cuser($cookiem,$action); //CUSER这个函数是用来判别是否从COOKIE中取出了信息
$query="select usename from useinfo where usename='".$useinfo[0]."'"; //检查是否注册用户
$req=mysql_query($query);
if ($req)
{
$usename=mysql_fetch_array($req);
if($usename[0]==$useinfo[0]) $useinfo[0]=$usename[0];
else {
$usename=1;
$useinfo[0]="游客";
}
}
else $usename=1;$useinfo[0]="游客";
?>
<table width="100%" cellpadding="4" cellspacing="0" border="0">
<tr>
<td height="40" rowspan="2" width="60%">
<div align="right"></div>
<div align="right"></div>
</td>
<td height="20" width="10%"> </td>
<td height="20" width="10%"> </td>
<td height="20" width="10%"> </td>
<td height="20" width="10%"> </td>
</tr>
<tr>
<td height="20" width="10%">
<div align="center"><a href="reguse.php?action=xy"><img src="images/top_register.gif" width="74" height="21" border="0"></a></div>
</td>
<td height="20" width="10%">
<div align="center"><a href="useinfo.php?action=find"><img src="images/top_members.gif" width="74" height="21" border="0"></a></div>
</td>
<td height="20" width="10%"><a href="useinfo.php?action=edit"><img src="images/top_profile.gif" width="74" height="21" border="0"></a></td>
<td height="20" width="10%"><a href="okey.php?d=q"><img src="images/top_logout.gif" width="74" height="21" border="0"></a></td>
</tr>
<tr>
<td height="20" width=60%>
<div align="left">当前位置:<font color="#0000FF">狐网─>狐网论坛─>主题列表</font> <? echo "<font color='00dd00'>".$useinfo[2]."</font><font color='ff0000'>"; echo "欢迎你来到论坛!</font>"; ?></div>
</td>
<td height="20" width="10%">
<div align="center"><? echo "<a href='post.php'><img src='images/newthread.gif' width='70' height='20' border='0' alt='发布新帖'></a>"; ?></div>
</td>
<td height="20" width="10%">
<div align="center"><? if ($action==find) echo "<a href='foxbbs.php'><img src='images/dispall.gif' width='70' height='20' border='0' alt='显示所有贴子列表'></a>"; else echo "<a href='superuse.php' target='_blank'><img src='images/super.gif' border='0' alt='管理专区,非请莫进'></a>";?></div>
</td>
<td height="20" width="10%">
<div align="center"><a href="reguse.php?action=dl"><img src="images/dl.gif" border="0" alt="登录用户"></a></div>
</td>
<td height="20" width="10%">
<div align="center"><a href="http://lfox.oso.com.cn/index.php" target="_blank"><img src="images/fox.gif" border="0" alt="返回狐网首页"></a></div>
</td>
</tr>
</table>
<? echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
echo "<tr bgcolor='#000000'><td><table width='100%' border='0' cellspacing='1' cellpadding='1'>";
?> <tr bgcolor="#229999">
<td width="5%">
<div align="center"><font color="#FFFFFF">状态</font></div>
</td>
<td width="5%">
<div align="center"><font color="#FFFFFF">表情</font></div>
</td>
<td width="30%">
<div align="center"><font color="#FFFFFF">主 题</font></div>
</td>
<td width="25%">
<div align="center"><font color="#FFFFFF">作 者</font></div>
</td>
<td width="5%">
<div align="center"><font color="#FFFFFF">回复</font></div>
</td>
<td width="5%">
<div align="center"><font color="#FFFFFF">人气</font></div>
</td>
<td width="25%">
<div align="center"><font color="#FFFFFF">最后回复时间</font></div>
</td>
</tr>
<?php
$imgnum=20; //点击次数,准备改状态图
if (!$user) $user="all";
$query="select count(*) from foxbbs"; //首先计算总的论题数
$req=mysql_query($query);
if ($req)
{
$row=mysql_fetch_array($req);
$num=$row[0];
if (!$rows) $rows=10; //控制每页显示条数
if (!$l) $l=1; //设定排序方式
if ($num/$rows<1) $page=1; //计算总页数
else if($num/$rows==floor($num/$rows)) $page=$num/$rows;
else $page=floor($num/$rows)+1;
if (!$dpage) $dpage=1; //当前显示的页数
if ($dpage>$page) $dpage=$page; //不能超过最大页数
if ($dpage==1) $tem=0; //控制当前页应该显示的信息
else $tem=($dpage-1)*$rows;
if ($l==2) $s="hfnum";
else if ($l==3) $s="djnum";
else $s="id";
for ($i=0;$i<$rows;$i++) //根据设定的每页行数来取记录
{
$tem1=$tem+1;
if($action==find) $query="select * from foxbbs where usename='".$user."' order by $s desc limit $tem,$tem1";
else $query="select * from foxbbs order by $s desc limit $tem,$tem1";
$req=mysql_query($query);
if ($req)
{
$bbs=mysql_fetch_array($req); //看有没有回复时间,如果没有就取发帖时间代替回复时间
if ($bbs[3])
{
if (!$bbs[8]) $bbs[8]=$bbs[4]." ".$bbs[1];
else $bbs[8]=$bbs[8]." ".$bbs[10];
if (substr($bbs[4],0,-8)==date(Y年n月j日)&&$bbs[6]<$imgnum&&$bbs[12]!=1) // 如果是当天的帖子
$img="images/newfolder.gif";
else if(substr($bbs[4],0,-8)==date(Y年n月j日)&&$bbs["djnum"]>=$imgnum&&$bbs[12]!=1) //如果是当天,并且点击数上10
$img="images/newhotfolder.gif";
else if(substr($bbs[4],0,-8)!=date(Y年n月j日)&&$bbs[6]>=$imgnum&&$bbs[12]!=1) //如果不是当天,但点击上20
$img="images/hotfolder.gif";
else if($bbs[12]==1) $img="images/lock.gif"; //已锁
else $img="images/folder.gif";
echo "<tr bgcolor='#eeeeee'>";
echo "<td width='5%'><div align='center'><img src='".$img."'></div></td>";
echo "<td width='5%'><div align='center'><img src='images/".$bbs[2].".gif'></div></td>";
echo "<td width='30%'><div align='left'>";
if ($bbs[12]==1) echo $bbs[3]."</div></td>";
else echo "<a href='dispbbs.php?id=".$bbs[0]."&use=".$bbs[1]."'>".$bbs[3]."</a></div></td>";
echo "<td width='25%'><div align='center'>".$bbs[1]."</div></td>";
echo "<td width='5%'><div align='center'>".$bbs[7]."</div></td>";
echo "<td width='5%'><div align='center'>".$bbs[6]."</div></td>";
echo "<td width='25%'><div align='left'>".$bbs[8]."</div></td></tr>";
}
}
$tem++;
}
}
echo "<tr><td colspan='7'>";
echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
echo "<tr>";
echo "<td height='15' width='100%' colspan='3' bgcolor='#229999'><div align='left'><font color='ffffff'>|===> ";
if($page==1)
{
echo "[上一页] [下一页]";
}
else if ($dpage==1) //如果当前在第一页
{
$u=$dpage+1;
echo "[上一页] <a href='foxbbs.php?dpage=".$u."&rows=".$rows."&l=".$l."&user=".$user."'>[下一页]</a>";
}
else if($dpage>1&&$dpage<$page) //如果当前在中间页
{
$u=$dpage+1;
$d=$dpage-1;
echo "<a href='foxbbs.php?dpage=".$d."&rows=".$rows."&l=".$l."&user=".$user."'>[上一页]</a> <a href='foxbbs.php?dpage=".$u."&rows=".$rows."&l=".$l."&user=".$user."'>[下一页]</a>";
}
else if($dpage==$page) //如果当前在最后一页
{
$d=$dpage-1;
echo "<a href='foxbbs.php?dpage=".$d."&rows=".$rows."&l=".$l."&user=".$user."'>[上一页]</a> [下一页]";
}
echo "</font></div></td>";
echo "</tr></table></td></tr></table></td></tr></table>";
echo "<div align='center'>论题数:".$num." 当前第".$dpage."页/共有".$page."页<select style='BACKGROUND-COLOR: #ffffff; BORDER-BOTTOM: #000000 1px dashed; BORDER-LEFT: #000000 1px dashed; BORDER-RIGHT: #000000 1px dashed; BORDER-TOP: #000000 1px dashed;' name='dpage' onChange='javascript:location.href=this.options[this.selectedIndex].value'>";
for ($i=1;$i<=$page;$i++)
{
if ($i==$dpage) echo "<option value='foxbbs.php?dpage=".$i."&rows=".$row."&l=".$l."&user=".$user."' selected>第".$i."页</option>";
else echo "<option value='foxbbs.php?dpage=".$i."&rows=".$rows."&l=".$l."'>第".$i."页</option>";
}
echo "</select>";
echo "<select style='BACKGROUND-COLOR: #ffffff; BORDER-BOTTOM: #000000 1px dashed; BORDER-LEFT: #000000 1px dashed; BORDER-RIGHT: #000000 1px dashed; BORDER-TOP: #000000 1px dashed;' name='dpage' onChange='javascript:location.href=this.options[this.selectedIndex].value'>";
echo "<option value='' selected>选择排序方式</option>";
echo "<option value='foxbbs.php?dpage=".$dpage."&rows=".$rows."&user=".$user."&l=1'>安发贴时间排序</option>";
echo "<option value='foxbbs.php?dpage=".$dpage."&rows=".$rows."&user=".$user."&l=3'>安点击数排序</option>";
echo "<option value='foxbbs.php?dpage=".$dpage."&rows=".$rows."&user=".$user."&l=2'>安回复数排序</option>";
echo "</select>";
echo "<select style='BACKGROUND-COLOR: #ffffff; BORDER-BOTTOM: #000000 1px dashed; BORDER-LEFT: #000000 1px dashed; BORDER-RIGHT: #000000 1px dashed; BORDER-TOP: #000000 1px dashed;' name='dpage' onChange='javascript:location.href=this.options[this.selectedIndex].value'>";
echo "<option value='' selected>选择每页显示行</option>";
echo "<option value='foxbbs.php?dpage=".$dpage."&rows=5&l=".$l."&user=".$user."'>每页五行</option>";
echo "<option value='foxbbs.php?dpage=".$dpage."&rows=10&l=".$l."&user=".$user."'>每页十行</option>";
echo "<option value='foxbbs.php?dpage=".$dpage."&rows=15&l=".$l."&user=".$user."'>每页十五行</option>";
echo "<option value='foxbbs.php?dpage=".$dpage."&rows=20&l=".$l."&user=".$user."'>每页二十行</option>";
echo "<option value='foxbbs.php?dpage=".$dpage."&rows=25&l=".$l."&user=".$user."'>每页二十五行</option>";
echo "<option value='foxbbs.php?dpage=".$dpage."&rows=30&l=".$l."&user=".$user."'>每页三十行</option>";
echo "<option value='foxbbs.php?dpage=".$dpage."&rows=35&l=".$l."&user=".$user."'>每页三十五行</option>";
echo "<option value='foxbbs.php?dpage=".$dpage."&rows=40&l=".$l."&user=".$user."'>每页四十行</option>";
echo "<option value='foxbbs.php?dpage=".$dpage."&rows=45&l=".$l."&user=".$user."'>每页四十五行</option>";
echo "<option value='foxbbs.php?dpage=".$dpage."&rows=50&l=".$l."&user=".$user."'>每页五十行</option>";
echo "</select>";
$query="select count(*) from useinfo"; //统计注册用户数
$req=mysql_query($query);
$usenum=mysql_fetch_array($req);
$query="select usename from useinfo order by useid desc limit 0,1"; //查找最新注册的用户,因为ID是自增的,所以可以根据ID来判断,最大的也就是最新的。
$req=mysql_query($query);
$newuse=mysql_fetch_array($req);
echo " 目前共有成员[<font color='ff0000'>".$usenum[0]."</font>]名/最新加盟[<font color='ff0000'>".$newuse[0]."</font>]";
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="30"> </td>
</tr>
<tr>
<td height="30">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="20" width="20%">
<div align="left">状态说明:</div>
</td>
<td height="20" width="20%">
<div align="left"></div>
</td>
<td height="20"> </td>
<td height="20"> </td>
</tr>
<tr>
<td height="20" width="25%">
<div align="left"><img src="images/newfolder.gif" width="14" height="11">
当天产生新论题</div>
</td>
<td height="20" width="25%">
<div align="left"><img src="images/newhotfolder.gif" width="14" height="17">
当天回复最高的论题</div>
</td>
<td height="20" width="25%">
<div align="left"><img src="images/folder.gif" width="14" height="11">
一天以前的论题</div>
</td>
<td height="20" width="25%">
<div align="left"><img src="images/hotfolder.gif" width="14" height="17">
总计回复超过50个的论题</div>
</td>
</tr>
<tr>
<td height="20" width="25%">
<div align="left"><img src="images/lock.gif" width="12" height="15">
已被关闭的主题 </div>
</td>
<td height="20" width="25%">
<div align="left"></div>
</td>
<td height="20" width="25%">
<div align="left"></div>
</td>
<td height="20" width="25%">
<tr><td colspan="4" height="100"><div align="center"><font color="ff0000">★论坛说明★</font></div><br><div align="left">
1、此论坛只有注册用户才能发贴,如果您没注册,可以游客身份,查看、回复贴子,但是不能发帖。<br>
2、发帖用户将对论坛内所发的言论负全部责任,回本论坛主要是以情感方面为话题,(在技术论坛出来以前,可以适当地讨论技术方面的问题),如果站长一旦发现有用户使用本论坛讨论其它无关话题,将会立即加锁。(本站将相继推出其它论坛)<br>
3、我还没想到。呵呵……
</div></td></tr>
<div align="left"></div>
<tr><td height="70"></td></tr>
<tr>
<td height="20" colspan="4">
<div align="center">< <a href="mailto:hllinyu@netease.com">与我联系</a> |─| <a href="mailto:hllinyu@netease.com">FlyFox@Net</a> ></div>
</td>
</tr>
<tr><td height="20"></td></tr>
<tr>
<td height="20" colspan="4">
<div align="center"><font color="#6666FF">飞狐工作室制作开发</font></div>
</td>
</tr>
</table>
</td>
</tr>
</body>
</html>