实例:PHP+MySQL开发留言板

2018.04.24,注意时间。



这次写一下使用PHP和MySQL开发留言板的方法,个人认为留言板这个实例是非常适合新手入门的,因为留言板的功能主要就是对数据库的增删改查,比较简单。

做实例之前首先要列一个大纲,根据这个大纲来写代码,写代码的过程中大纲就尽量不要大改了。这样写代码就会有一个方向,也不会代码写一半突然想到忘了写一些东西然后又回过头改代码。等到功能完成的差不多了之后,再进行测试,看看哪些地方需要改善,哪些地方不是特别友好,再改代码。这是目前敲代码所领悟到的经验,献丑了。


列一下留言板的功能:
1.发表留言
2.浏览留言
3.修改留言
4.删除留言
5.置顶留言
6.对留言点赞
7.举报留言

以上就是我要完成的功能,接下来我会根据列出的功能来写代码。

在写功能之前先来列一个数据表,我们回想一下我们平时留言时会需要哪些东西,不需要太复杂,先来个简单的就好。首先我要有一个用户名(mes_username);然后我可以使用我的用户名进行留言(mes_content);留言在显示的时候会有留言的时间(mes_time);上面还列出一些其他功能,置顶(mes_top)、点赞(mes_praise)、举报(mes_report),当然了,我们还要有一个自增主键(mes_id)。所以我们可以列出一个数据表(mes_message):

mes_id             INT             无
mes_username       VARCHAR(30)     无
mes_content        TEXT(300)       无
mes_time           TIMESTAMP       CURRENT_TIMESTAMP
mes_top            TINYINT         0
mes_praise         TINYINT         0
mes_report         TINYINT         0

建好数据表我们就可以完成功能了。
1.创建数据库连接文件(mysqli_connect.php)

代码:

创建好数据库连接文件,我们每次连接数据库的时候就可以直接引用文件,不用再一遍一遍的敲代码了。

2.主页面(index.php)
(1)提交留言的表单
(2)浏览已发布的留言
(3)分页功能

代码:





    
    留言板


    //提交留言的表单
    

用户名:

留言:

//分割线
{$row['mes_id']}# {$row['mes_username']} 于 {$row['mes_time']}说:
{$row['mes_content']}"; //显示删除功能 echo '删除 |'; //显示修改功能 echo ' 修改 |'; //显示置顶功能 if($row['mes_top']){ echo ' 取消置顶 |'; } else { echo ' 置顶 |'; } //显示举报功能 echo ' 举报 |'; //显示点赞功能 echo ' 点赞(' . $row['mes_praise'] . ') '; echo '

'; } //打印页码数 for($i=1; $i<=$page_count; $i++) { echo ''; //传值给$page echo ' ' .$i. ' '; echo ''; } ?>

3.发布留言功能文件(mes_insert.php)
发布留言实际上就是对数据库进行插入操作,使用insert关键字。点击index.php文件中留言表单的提交按钮,就可以跳转到这个文件。

代码:

=30 || strlen($mes_username)<=4){
    echo '请输入2-9个汉字之间的用户名!';
    exit;
}
if(strlen($mes_content)<1){
    echo '留言内容不能为空!';
    exit;
}
//数据库插入语句
$sql = "INSERT INTO mes_message (mes_username, mes_content, mes_time) VALUES ('$mes_username', '$mes_content', now())";
//将上一步对数据库进行插入操作的结果返回并赋值给$result
$result = mysqli_query($link, $sql);
//如果成功跳转到主页面,失败报错
if($result){
    echo '';
} else {
    echo "留言失败!
"; echo mysqli_error($link); echo '回到首页!'; }

4.删除留言功能文件(mes_delete.php)
删除留言就是对数据库进行删除操作,使用delete关键字。点击index.php文件中留言后面的“删除”超链接,就会跳转到这个文件。

代码:

alert("恭喜你删除成功!");location.href="./index.php";';
} else {
    echo '删除失败!
'; echo mysqli_error($link); echo '回到首页!'; }

5.修改留言功能文件(mes_modify.php和mes_modify2.php)
修改留言使用update关键字,修改留言分为两个文件:当用户点击主页面的‘修改’链接的时候,跳转到第一个文件(modify.php),用户会看到一个修改表单,如果用户想要修改留言可以点击修改留言按钮;当用户点击修改留言按钮后,跳转到第二个文件(modify2.php),第二个文件就是使用sql进行修改操作。

modify.php代码:


//修改留言表单,默认值是用户想要修改的留言



    
    修改留言


    
//通过"?",将mes_id的值传给modify2.php文件

用户名:

留言:

modify2.php代码:

alert("恭喜你修改成功!");location.href="./index.php";';
} else {
    echo '修改失败!
'; echo mysqli_error($link); echo '回到首页!'; }

6.其他功能:点赞、置顶、举报(mes_action.php)
点赞、置顶、举报是额外加的功能,如果只是想要实现简单的留言板功能,这个可以忽略。
(1)点赞
我们在创建数据表的时候,添加了一个mes_praise字段,并且将它的默认值设置为"0",如果用户点击主页面中的"点赞"链接,就会跳转到mes_action.php文件,通过sql语句将默认值+1。

(2)置顶
创建数据表的时候,添加了一个mes_top字段,并且将它的默认值设置为"0",如果用户点击主页面中的"置顶"链接,就会跳转到mes_action.php文件,通过sql语句将默认值改为"1",同理,点击"取消置顶"后,会将默认值重新设置为"0"。同时修改index.php文件中的留言输出语句,就可以实现置顶功能了(上面的index.php文件是已经修改好了的)。

(3)
创建数据表的时候,添加了一个mes_report字段,并且将它的默认值设置为"0",如果用户点击主页面中的"举报"链接,就会跳转到mes_action.php文件,通过sql语句将默认值改为"1",同时设置index.php文件中的留言输出语句,就可以实现举报功能了(上面的index.php文件是已经设置好了的)。

代码:

';
        echo mysqli_error($link).'
'; echo '回到首页!'; } } /* 取消置顶 */ //如果接收的字符串是'canceltop',对留言取消置顶 if($mes_act == 'canceltop'){ //接收mes_id $mes_id = $_GET['mes_id']; //将mes_top的值设置为"0" $sql = "UPDATE mes_message SET mes_top=0 WHERE mes_id=$mes_id"; //将上一步的操作结果返回 $result = mysqli_query($link, $sql); //如果成功跳转到主页,失败报错 if($result){ header('Location: index.php'); } else { echo '取消置顶失败!
'; echo mysqli_error($link).'
'; echo '回到首页!'; } } /* 举报 */ //如果接收的字符串是'report',对留言举报 if($mes_act == 'report'){ //接收mes_id $mes_id = $_GET['mes_id']; //将mes_report设置为"1" $sql = "UPDATE mes_message SET mes_report=1 WHERE mes_id=$mes_id"; //将上一步的操作结果返回 $result = mysqli_query($link, $sql); //如果成功跳转到首页,失败报错 if($result){ echo ''; } else { echo '举报失败!
'; echo mysqli_error($link).'
'; echo '回到首页!'; } } /* 点赞 */ //如果接收的字符串是'praise',对留言点赞 if($mes_act == 'praise'){ //接收mes_id $mes_id = $_GET['mes_id']; //将mes_praise的值+1 $sql = "UPDATE mes_message SET mes_praise=mes_praise+1 WHERE mes_id=$mes_id"; //将上一步的操作结果返回 $result = mysqli_query($link, $sql); //如果成功跳转到首页,失败报错 if($result){ header('Location: index.php'); } else { echo '点赞失败!
'; echo mysqli_error($link).'
'; echo '回到首页!'; } }

以上就是留言板的所有代码。
还有一个至关重要的知识就是"?传值",不会的同学可以百度,以上几乎所有功能都用到了这个知识点。


参考教程:
PHP实战教程-0基础快速入门

以上代码都是运行成功后才贴的,如果有错误可能是复制粘贴出现失误,欢迎指正。——佛系程序员

你可能感兴趣的:(实例:PHP+MySQL开发留言板)