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代码:
//修改留言表单,默认值是用户想要修改的留言
修改留言
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基础快速入门
以上代码都是运行成功后才贴的,如果有错误可能是复制粘贴出现失误,欢迎指正。——佛系程序员