很多站长朋友们都不太清楚php网页留言板,今天小编就来给大家整理php网页留言板,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 求一步一步教PHP留言板制作方法 2、 如何用php做出登陆注册留言板 3、 用PHP完成留言板功能 求一步一步教PHP留言板制作方法1. 先设计数据表,一般留言板需要两个表:留言内容表、回复表
留言内容表:messages
字段如下:
id 自动增加
contents 留言内容
messages_time 留言时间
回复表:reply
字段如下:
id 自动增加
messages_id 关联messages表的id
contents 回复的内容
reply_time 回复时间
2. 设计留言板页面及保存留言数据
大概代码如下:
<form name="form1" method="post" action="index.php?action=ok">
<texarea cols="30" rows="10" name="contents">
</textarea>
<input type="submit" value="提交">
</form>
<?php
if($_GET['action'] == 'ok'){
$contents = $_POST['contents'];
mysql_query("insert into messages values(NULL,'".$contents."',now())");
}
?>
3. 显示留言内容,遍历数据表
<?php
//包含数据连接代码
require('data.php');
$query = mysql_query("select * messages");
while($array = mysql_fetch_array($query)){
echo $array['contents']."<br>";
}
?>
4. 回复的设计可以参照留言的设计
如何用php做出登陆注册留言板登录页:login.php
<?php
include("conn.php");
$username=$_POST['name'];
$password=$_POST['password'];
$yanzheng=$_POST['yanzheng'];
if(isset($_POST['submit']))
{
$sql=("select username,password from member where username='$username' and password='$password'") or die("sql语句执行失败");
//print_r($sql);
$ar=mysql_query($sql);
if($ar)
{
if($row=mysql_fetch_array($ar))
{
session_start();
if($_POST["yanzheng"])
{
if($yanzheng!=$_session[pic]||$yanzheng=="")
{
echo "验证码输入有误";
exit;
}
if($yanzheng==$_session[pic])
{
header("location:index.php");
}
}
}
else
{
echo "用户名或密码错误";
}
}
}
?>
<form action="login.php" method="post">
<table border=1 align=center width=500 height=300 bgColor=#DFFFDF bordercolor=#fffbec>
<tr>
<td colspan=2 align=center>用户登录</td>
</tr>
<tr>
<td>用户姓名:</td>
<td><input type="text" name="name" id="name"/></td>
</tr>
<tr>
<td>用户密码:</td>
<td><input type="password" name="password" id="password"/></td>
</tr>
<tr>
<td>验证码:</td>
<td><input type="text" name="yanzheng" id="yanzheng"/>
<img src="/data/upload/help/202303/13/51998250cd085b6d7ad5c1f68e285d25.php" width="50" height="30"></img>
</td>
</tr>
<tr>
<td colspan=3 align=center>
<input type="submit" name="submit" value="登录"/>
<input type="reset" name="reset" value="重置"/>
<a href="register.php">注册</a>
</td>
</tr>
</table>
</form>
注册页:register.php
<?php
include("conn.php");
if(isset($_POST['submit'])$_POST['submit']) {
if($_POST['username']=='')
{
echo "用户名不能为空";
exit();
}
if($_POST['password']=='')
{
echo "密码不能为空";
exit();
}
if($_POST['realpass']!=$_POST['password'])
{
echo "两次密码输入不一致";
exit();
}
$sql="insert into member(username,real_name,password,email,headimg) values('$_POST[username]','$_POST[username]','$_POST[password]','$_POST[email]','')";
$ar=mysql_query($sql);
if($ar)
{
header("location:index.php");
}
else
{
echo mysql_error();
}
}
?>
<body>
<form action="register.php" method="post">
<table border=1 align=center width=500>
<tr>
<td height=40 bgColor=#DFFFDF colspan=2>会员注册 [<a href="login.php">返回登录页</a>]</td>
</tr>
<tr>
<td height=40 bgColor=#fffbec >会员ID</td>
<td><input type="text" name="username" id="username"/></td>
</tr>
<tr>
<td height=40 bgColor=#fffbec>密码</td>
<td><input type="password" name="password" id="password"/></td>
</tr>
<tr>
<td height=40 bgColor=#fffbec>确认密码</td>
<td>
<input type="password" name="realpass" id="realpass"/>
</td>
</tr>
<tr>
<td height=40 bgColor=#fffbec>EMAIL</td>
<td><input type="text" name="email" id="email"/>
</tr>
<tr>
<td height=40 bgColor=#fffbec></td>
<td><input type="submit" name="submit" value="注册"/><input type="reset" value="重置"></td>
</tr>
</table>
</form>
</body>
主页显示:index.php
<?php
include("conn.php");
function cutstr($str,$cutleng)
{
$str = $str; //要截取的字符串
$cutleng = $cutleng; //要截取的长度
$strleng = strlen($str); //字符串长度
if($cutleng>$strleng)return $str;//字符串长度小于规定字数时,返回字符串本身
$notchinanum = 0; //初始不是汉字的字符数
for($i=0;$i<$cutleng;$i++)
{
if(ord(substr($str,$i,1))<=128)
{
$notchinanum++;
}
}
if(($cutleng%2==1)($notchinanum%2==0)) //如果要截取奇数个字符,所要截取长度范围内的字符必须含奇数个非汉字,否则截取的长度加一
{
$cutleng++;
}
if(($cutleng%2==0)($notchinanum%2==1)) //如果要截取偶数个字符,所要截取长度范围内的字符必须含偶数个非汉字,否则截取的长度加一
{
$cutleng++;
}
return substr($str,0,$cutleng);
}
?>
<html>
<head>
<script type="text/javascript">
function All(e, itemName)
{
var aa = document.getElementsByName(itemName);
for (var i=0; i<aa.length; i++)
aa[i].checked = e.checked; //得到那个总控的复选框的选中状态
}
function Item(e, allName)
{
var all = document.getElementsByName(allName)[0];
if(!e.checked) all.checked = false;
else
{
var aa = document.getElementsByName(e.name);
for (var i=0; i<aa.length; i++)
if(!aa[i].checked) return;
all.checked = true;
}
}
</script>
</head>
<?php
include("conn.php");
if(isset($_POST['del']))
{
$mm = $_POST["selected"];
$id =implode(",",$mm);
$sql = "delete from forums where id in(".$id.")";
//echo $sql;
$result=mysql_query($sql);
echo $result?"删除成功":"删除失败";
}
?>
<table style="BORDER-BOTTOM-WIDTH: 1px; BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=0 width=600 align=center border=1 bordercolor=#ddddff>
<tr align=middle>
<td height=40 bgColor=#DFFFDF colspan=3>论坛列表</td>
</tr>
<tr>
<td colspan=3><a href="login.php" style="float:right">[退出系统]</a><a href="add_forum.php" style="float:right">[添加论坛]</a></td>
<td></td>
</tr>
<tr align=middle>
<td height=40 bgColor=#DFFFDF width=80>状态</td>
<td height=40 bgColor=#DFFFDF>论坛</td>
<td height=40 bgColor=#DFFFDF>最后更新</td>
</tr>
<?php
$sql="select * from forums";
$result=mysql_query($sql);
$num=mysql_num_rows($result);
if($num>0)
{
while($row=mysql_fetch_array($result)){
?>
<tr align=middle>
<td bgColor=#fffbec><input type="checkbox" name="selected" value="1"/></td>
<td height=50 bgColor=#fffbec width=300>
<?php
echo "<div><a href=\"forums.php?F=".$row['ID']."\">".$row['forum_name']."</a></div>";
echo cutstr($row['forum_description'],24);//最多显示24个字节,12个字,多余部分用省略号代替
echo "……";
?>
</td>
<td height=50 bgColor=#fffbec><div><?php echo $row['last_post_time']."by".$row['last_post_author']?></div></td>
</tr>
<?php
}
}
else
{
echo "<tr bgColor=#fffbec><td colspan=3>对不起,论坛尚在创建中……</td></tr>";
}
?>
<tr>
<td colspan=3> <input type="checkbox" name="selected" value="1" onclick="All(this,'selected')"/>全选/不全选</td>
</tr>
<tr>
<td><input type="button" name="del" id="del" value="删除选中项"/>
<?php
?>
</td>
</tr>
</table>
</html>
自己创建数据库就好。
用PHP完成留言板功能留言表:留言ID、用户ID、内容、发表时间、修改时间(此字段可选)。
回复表:回复ID、留言ID、用户ID、内容、发表时间、修改时间(此字段可选)。
第一个用户ID是谁发表的留言,第二个用户ID是谁回复的留言,这样无限回复没问题,应该和你设计的差不多。
查询(查询某条留言的所有回复):
在回复表里查询所有该留言的回复记录(查询条件为留言ID),并按发表时间降序
回复内容表:
回复Id 回复内容
回复关联表:
回复内容id 回复内容id
已私信
关于php网页留言板的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php网页留言板 php留言板需要哪些知识的详细内容...