求一步一步教PHP留言板制作方法

求一步一步教PHP留言板制作方法,第1张

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. 回复的设计可以参照留言的设计

登录页: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="yanzheng1.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=0i<aa.lengthi++)

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=0i<aa.lengthi++)

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: 1pxBORDER-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>

自己创建数据库就好。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11513167.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存