PHP留言板小项目(大作业)-PHP代码类资源


PHP留言板小项目(大作业)-PHP代码类资源
留言板设计
制作者:20117760364张鹏

一,功能简介
留言板是一种电子便签管理系统,是用PHP及其他脚本语言编写的网络应用程序。在网络用户交流中起很大的作用,每个人都可以将他的资料和要求等信息保留在页面上,以供他人观看。留言板供其他网友给自己留言,或者临时存放自己的感受。留言操作简单,在您进入网站之后,进入任何一个留言板或社区均可以看到有输入框,输入自己的留言提交即可。

而我的这个留言板仅仅是简单的留言和管理员对留言板进行回复,删除管理的工具。该留言板简单但实用,而且具备了大多数留言板的基本功能。

二,开发环境
本系统利用AppServ及mysql中开发。采用了PHP,JavaScript,CSS等语言编写。

运行环境:windows。

三,设计思路
3.1逻辑结构设计

主页:浏览留言Index.php
发表留言
个人信息
管理员:删除留言dell.php
链接:删除留言
管理员:回复留言show.php
链接:确定
3.2系统功能

该留言板具有的主要功能如下:

1.可以按发言顺序,留言板自动排序;

2.有好简洁的管理界面,便于管理员维护留言板;

3.拥有给多的留言者的信息,包括主题,昵称,E-mail,网站,QQ等。

四,数据库设计
1.先新建一数据库(默认名为numb1)建立数据库及表格(lyb)

2.表属性定义如下:

`id` int(11) NOT NULL auto_increment,

`title` varchar(50) NOT NULL default '',

`name` varchar(20) default NULL,

`mail` varchar(50) default NULL,

`web` varchar(100) default NULL,

`qq` varchar(15) default NULL,

`ip` varchar(20) NOT NULL default '',

`tim` datetime default NULL,

`text` text NOT NULL,

`retxt` text,

`isre` char(2) NOT NULL default 'n',

`test` varchar(2) NOT NULL default 'n',

PRIMARY KEY (`id`)

3.留言板数据库连接

留言板中有很多数据,例如用户管理员登录时检测密码,进行查看和留 言时,都需要用到和数据库的连接所以应该将数据库的连接专门作为一个PHP文件,这样不仅方便,而且也增加了安全性。我的这个留言板中,就是以dbclass.php文件作为单独一个PHP文件连接数据库的。

五,关键代码
1.数据库连接(dbclass.php)

<?

class db{

var $dbhost="localhost";

var $dbuser="root";

var $password="123";

var $dbname="numb1";

function mysql($dbhost,$dbuser,$password,$dbname){

$this->dbhost=$dbhost;

$this->dbuser=$dbuser;

$this->password=$password;

$this->dbname=$dbname;

}

function mycon(){

@mysql_connect($this->dbhost,$this->dbuser,$this->password);

}

function selectdb(){

@mysql_select_db($this->db);

}

function createcon(){

mysql_connect($this->dbhost,$this->dbuser,$this->password);

mysql_select_db($this->dbname);

}

function fetch_array($sql){

$result=mysql_query($sql);

return mysql_fetch_array($result);

}

function query($sql){

return mysql_query($sql);

}

function loop_query($result){

return mysql_fetch_array($result);

}

function close() {

return mysql_close();

}

}

?>

留言板首页(index.php)
<?

session_start();

include('include/config.inc.php');

include('include/dbclass.php');

include('include/findex.php');

$admin=$_SESSION["admin"];

$page=$_GET["page"];

$db=new db;

$db->mysql($dbhost,$dbuser,$dbpassword,$dbname);

$db->createcon();

if($test=="n" || $admin){

$sql="select count(*) from lyb";

}else{

$sql="select count(*) from lyb where test='y'";

}

$array=$db->fetch_array($sql);

$count=$array[0];

if($page<2){$page=1;}

if(($count/$showrow) == floor($count/$showrow)){

$pcount=floor($count/$showrow);

}else{

$pcount=floor($count/$showrow)+1;

}

$start=($page-1)*$showrow;

if($test=="n" || $admin){

$sql="select id from lyb order by id desc limit $start,$showrow";

}else{

$sql="select id from lyb where test='y' order by id desc limit $start,$showrow";

}

?>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>请您留言</title>

<style type="text/css">

<!--

body {

background-image: url(img/bg.gif);

margin-top: 0px;

margin-bottom: 5px;

}

.style1 {color: #FF0000}

.style2 {color: #FFFFFF}

td{font-size:13px;color:#585858}

th{font-size:15px;color:#585858}

a:link{text-decoration:none;color:#0000ff}

a:visited{text-decoration:none;color:#0000ff}

a:hover{text-decoration:underline;color:#ff0000}

.l {font-size:13px}

.l a:link{text-decoration:none;color:#0000ff}

.l a:visited{text-decoration:none;color:#0000ff}

.l a:hover{text-decoration:none;color:#ff0000}

-->

</style>

<script language="JavaScript" type="text/JavaScript">

function check_form(theform)

{

if (theform.txt.value=="")

{

alert("您还没留下您的意见呢!");

theform.text.focus();

return false;

}

if (theform.title.value=="")

{

alert("请留下您意见的主题!");

theform.title.focus();

return false;

}

if (theform.name.value=="")

{

alert("请输入您的大名!");

theform.name.focus();

return false;

}

}

function checkall(check) {

var i = <? echo ($start+1);?>;

var theObj;

for(; i<=<? echo ($showrow+$start+1);?>; i++)

{

theObj = eval("form1.del" + i);

if (theObj != null)

theObj.checked = check;

}

}

function allcheck() {

if (document.form1.a.checked == true)

checkall(true);

else

checkall(false);

}

</script>

</head>

<body><form name="form1" method="post" action="dell.php">

<table width="780" border="0" align="center" cellspacing="0" bgcolor="#f8fff7">

<tr>

<td height="2"></td>

</tr>

<tr>

<td><img src="img/title.jpg" width="778" height="80"></td>

</tr>

<tr>

<td><hr></td>

</tr>

<tr>

<td class="l"> <a href="http://localhost:8888/php/index.php" target="_blank">首页</a> > <span class="style1">您的意见</span> </td>

</tr>

<tr>

<td height="10"></td>

</tr>

<tr>

<td><table width="100%" border="0" cellspacing="1" bgcolor="#c1d1c1">

<tr>

<td bgcolor="#f8f8f8">

<table width="100%" border="0" cellspacing="0">

<tr>

<td width="41%" class="l">  第<? echo $page;?>页 共<? echo $pcount;?>页  <? if($page>1){?>

<a href="index.php">首页</a> <a href="index.php?page=<? echo $page-1;?>">上页</a> <? } if($page<$pcount){?>

<a href="index.php?page=<? echo $page+1;?>">下页</a> <a href="index.php?page=<? echo $pcount;?>">尾页</a> <? }?></td>

<td width="59%" class="l"><div align="right">

<? if($admin){?><input name="page" type="hidden" id="page" value="<? echo $page;?>">

<input name="imageField" type="image" src="img/del1.jpg" width="76" height="21" border="0" onMouseOut="this.src='img/del1.jpg'" onMouseOver="this.src='img/del2.jpg'">

<? }else{if($wmassage=="n"){?><a href="send.php"><img src="img/send1.jpg" width="77" height="21" border="0" onMouseOut="this.src='img/send1.jpg'" onMouseOver="this.src='img/send2.jpg'"></a><? }?>

<a href="login.php"><img src="img/admin1.jpg" width="77" height="21" border="0" onMouseOut="this.src='img/admin1.jpg'" onMouseOver="this.src='img/admin2.jpg'"></a><? }?>

 </div></td>

</tr>

</table></td>

</tr>

</table></td>

</tr>

<tr>

<td height="10"></td>

</tr>

</table>

<table width="780" border="0" align="center" bgcolor="#EFF0E2" style="BORDER-LEFT: #4F7B0D 1px solid; BORDER-RIGHT: #4F7B0D 1px solid; BORDER-TOP: #4F7B0D 1px solid">

<tr bgcolor="#4F7B0D">

<th width="53" height="20"><span class="style2">

<? if($admin){echo "<input type=\"checkbox\" name=\"a\" id=\"a\" οnclick=\"return allcheck()\">";}else{echo "编号";}?>

</span></th>

<th width="336" bgcolor="#4F7B0D"><span class="style2">主题</span></th>

<th width="83"><span class="style2">留言者</span></th>

<th width="217"><span class="style2">留言时间</span></th>

<th width="69"><span class="style2">回复</span></th>

</tr>

</table>

<?

$i=1;

$result=$db->query($sql);

while($rows=$db->loop_query($result)){

$no=($i++)+($page-1)*$showrow;

show($rows[0],$db,$admin,$no);

}

?>

<table width="780" border="0" align="center" cellspacing="0" style="BORDER-TOP: #4F7B0D 1px solid">

<tr>

<td height="10"></td>

</tr>

<tr>

<td><table width="100%" border="0" align="center" cellspacing="1" bgcolor="#c1d1c1">

<tr>

<td bgcolor="#f8fff7" class="l"><div align="right">

<?

if($pcount<=5){

for($j=1;$j<$pcount+1;$j++){

if($j==$page){?><font color=#ff0000>第<? echo $page;?>页</font> <? }else{?><a href="index.php?page=<? echo $j;?>">第<? echo $j;?>页</a> <? }

}

}else if($page<4){

for($k=1;$k<$page+6;$k++){

if($k==$page){?><font color=#ff0000>第<? echo $k;?>页</font> <? }else{ ?><a href="index.php?page=<? echo $k;?>">第<? echo $k?>页</a> <? }

}

}else if(($pcount-$page)<5){

for($l=$pcount-6;$l<=$pcount;$l++){if($l==$page){ ?><font color="#FF0000">第<? echo $l;?>页</font> <? }else{ ?><a href="index.php?page=<? echo $l;?>">第<? echo $l;?>页</a> <? }}

}else{

for($m=$page-3;m<$page+3;$m++){if($m==$page){ ?><font color="#FF0000">第<? echo $m;?>页</font> <? }else{ ?><a href="index.php?page=<? echo $m;?>">第<? echo $m;?>页</a> <? }}

}?>  共<? echo $pcount;?>页 <? echo $count;?>条  </div></td>

</tr>

</table></td>

</tr>

</table></form>

<? if(!$admin){if($wmassage=="y"){?>

<form name="form2" method="post" action="act.php" onSubmit="return check_form(this)">

<table width="780" border="0" align="center" cellspacing="1" bgcolor="#4F7B0D">

<tr bgcolor="#EFF3E7">

<td colspan="2"><table width="100%" border="0" cellspacing="1">

<tr>

<th bgcolor="#4F7B0D"><span class="style2">填 写 留 言</span></th>

</tr>

</table></td>

</tr>

<tr bgcolor="#EFF3E7">

<td width="459" bgcolor="#EFF3E7"><div align="center">

<table width="100%" border="0">

<tr>

<td class="l"><div align="center">留言内容 <span class="style1">*</span></div></td>

</tr>

<tr>

<td><div align="center">

<textarea name="txt" cols="55" rows="8" id="txt" style="BORDER: #4F7B0D 1px solid; background: #f8fff7;color: #4F7B0D; overflow:auto;"></textarea>

</div></td>

</tr>

</table>

</div></td>

<td width="314" bgcolor="#EFF3E7"><table width="98%" border="0" align="center">

<tr>

<td class="l"><div align="right">主题:</div></td>

<td><input name="title" type="text" id="title" style="BORDER: #4F7B0D 1px solid;color:#4F7B0D;background: #f8fff7;">

<span class="style1">*</span></td>

</tr>

<tr>

<td class="l"><div align="right">昵称:</div></td>

<td><input name="name" type="text" id="name" style="BORDER: #4F7B0D 1px solid;color:#4F7B0D;background: #f8fff7;">

<span class="style1">*</span></td>

</tr>

<tr>

<td class="l"><div align="right">E-mail:</div></td>

<td><input name="mail" type="text" id="mail" style="BORDER: #4F7B0D 1px solid;color:#4F7B0D;background: #f8fff7;"></td>

</tr>

<tr>

<td class="l"><div align="right">网站:</div></td>

<td><input name="web" type="text" id="web" style="BORDER: #4F7B0D 1px solid;color:#4F7B0D;background: #f8fff7;"></td>

</tr>

<tr>

<td class="l"><div align="right">Q Q: </div></td>

<td><input name="qq" type="text" id="qq" style="BORDER: #4F7B0D 1px solid;color:#4F7B0D;background: #f8fff7;"></td>

</tr>

<tr>

<th colspan="2"><input name="imageField" type="image" src="img/ok1.jpg" width="69" height="20" border="0" onMouseOut="this.src='img/ok1.jpg'" onMouseOver="this.src='img/ok2.jpg'">  <a href="http://www.numb1.com"><img src="img/back1.jpg" width="69" height="20" border="0" onMouseOver="this.src='img/back2.jpg'" onMouseOut="this.src='img/back1.jpg'"></a></th>

</tr>

</table></td>

</tr>

</table>

</form>

<? }}?>

<table width="780" border="0" align="center" cellspacing="1" bgcolor="#4F7B0D">

<tr>

<td bgcolor="#639A10" class="l"><div align="center" class="style2">欢迎进入本站留言板  <a target="_blank"><font color="#ffffff">版权所有 © 2014-2015</font></a></div></td>

</tr>

</table>

</body>

</html>

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值