一个简单的留言板制作【好久不见】
来源:互联网 发布:3d模型太大怎么优化 编辑:程序博客网 时间:2024/05/17 06:18
好久好久没写博客了,撸一发简单的留言板,希望能够帮到一些刚刚入门php的同学
环境php5.5.12+mysql5.6.17+apache2.4.9,认为费事的初学者可以直接下载wampserver,我的代码我放到一个邮箱huangbintongxue@tom.com 密码1q2w3e4r5t
IDE phpstrom这个真的很好用!!!
本文讲的主要是后台的处理,所以前段用的是泰牛程序员的模板,哈哈,给老韩打个广告
留言板的文件结构我先列出来,方便大家有个总体的理解
<pre name="code" class="php">messageadmin---checklogin.php---delete.php---edit.php---index.php---list.html---login.php---update.phpbscssfontsjspubiic---config.php---add.php---index.php---insert.php---mess.sql
整个工程不算大,但是也有很多文件了,所以要先理清需求,然后知道创建什么文件,一步一步的做,才不会乱
===============================================here we go============================================
首先我们需要了解留言板的需求</p><p>前端两个界面,发布留言,显示留言,发布留言是一个表单,表单内容:留言标题,留言内容
后端一个界面,显示留言标题,留言内容,加入时间</p><p><img src="http://img.blog.csdn.net/20160603000321052?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" width="500" height="300" alt="" /></p><p><img src="http://img.blog.csdn.net/20160603000345506?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" width="600" height="300" alt="" /><img src="http://img.blog.csdn.net/20160603000409650?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" width="600" height="300" alt="" /></p><p>这就是界面</p><p>=======================================第一步设计数据库==========================</p><p>首先要设计数据库</p><p>我们根据之前的需求可以知道我们需要的字段有标题,内容,添加时间,当然还有我们的主键id</p><p>所以我们的设计数据库语句</p><p></p><pre name="code" class="sql">CREATE database mes charset = utf8;-- 选择数据库use mes;-- 创建留言信息表CREATE table mes_info ( id int auto_increment comment 'id', title varchar(20) not null comment '标题', content text not null comment '内容', addtime varchar(20) not null comment '添加时间', primary key(id))charset=utf8;
我们的数据库名字,表名如上
我们的后台登录肯定需要一个登录操作,这样我们就要设计一个用户表,并且初始化一个管理员
-- 创建用户表 create table admin ( id int auto_increment, user_name varchar(20) not null, pass_word varchar(20) not null, PRIMARY KEY(id))charset=utf8;-- 初始化一个管理员用户INSERT INTO admin values(DEFAULT ,'admin','admin');
根据需求,基本上只有这两个表就够了
======================================前端操作===================================
首先我们找到add.php界面
就是发布留言的界面,我们在这个表单中,设置传递的文件,Insert.php
<form role="form" action="insert.php" method="post"> <div class="form-group"> <label>留言主题</label> <input type="text" class="form-control" name="title"> </div> <div class="form-group"> <label>留言内容</label> <textarea class="form-control" rows="10" name="content"></textarea> </div> <input type="submit" class="btn btn-default" value="发表"> </form>
在insert.php中我们要完成对表单信息的接收,验证,并将数据插入到数据库
header("content-type:text/html;charset = utf-8");$title = $_POST['title'];$content = $_POST['content'];$addtime = date("Y-m-d H:i:s");//对数据进行验证if($title == "" || $content == ""){ //echo "error,not null"; echo "<script>alert('标题内容不能为空'); window.location.href='add.php';</script>"; exit;}//插入数据到数据库@$link = mysql_connect('localhost','root','');//选择数据库@mysql_selectdb("mes");//设置编码mysql_query("set names utf8");//准备插入的sql语句$sql = "insert into mes_info values('','{$title}','{$content}','{$addtime}')";//发送sql语句if(mysql_query($sql)){ echo "<script>alert('yes');window.location.href='index.php';</script>";}else{ echo "<script>alert('no');window.location.href='add.php';</script>";}这里有几点说明:1,不要忘记对addtime的处理 2,验证的时候不要忘记最后的exit退出 3,数据库扩展库最好不要用mysql_connect,用mysqli
这样我们就完成了对数据的插入操作
对于显示数据操作
我们用select * from mess_info ;
这个语句得到结果集
在主界面的相应地方嵌入代码
<?php foreach($rows as $k => $v):?> <div class="panel panel-primary"> <div class="panel-heading"> <span class="glyphicon glyphicon-star"></span><?php echo $v['title']?> </div> <div class="panel-body" style="height:120px;"> <?php echo $v['content']?> </div> <div class="panel-footer"> <?php echo $v['addtime']?> </div> </div> <?php endforeach;?>我们完成了前端的处理
=====================================对数据库操作进行一个整理=======================
我们看这段代码
//插入数据到数据库@$link = mysql_connect('localhost','root','');//选择数据库@mysql_selectdb("mes");//设置编码mysql_query("set names utf8");这段代码是对数据库的基本操作,仔细想想在后面的复用率肯定高的不行,我们可以把它写到一个文件里,以后直接引用就好
我们设置一个public文件夹创建一个config文件,把这段代码写进去,以后直接require就好
======================================后端处理======================================
对于后端操作,我们有一个显示界面,有修改,删除功能
在模板中可以找到界面
为了使代码更加清晰,我们可以专门创建一个admin文件夹来存放我们的后台代码
第一个界面是login界面
很简单就是一个表单,之后我们需要有个checklogin文件
$username = $_POST['username'];$password = $_POST['password'];//验证if($username == "" || $password == ""){ echo "<script>alert('用户名密码不能为空'); window.location.href='login.php';</script>"; exit;}$link = @mysql_connect('localhost','root','');mysql_query("use mes");mysql_query("set names utf8");//准备sql语句 -- 通过用户名取当前用户的所有信息$sql = "select * from admin WHERE user_name = '{$username}' AND pass_word ='{$password}'";$res = mysql_query($sql);$row = mysql_num_rows($res);if(!$row){ echo "<script>alert('用户名或密码错误'); window.location.href='login.php';</script>"; exit;}else{ echo "<script>alert('登录成功'); window.location.href='index.php';</script>";}
我们在checklogin文件中完成验证操作,之间可能比较困难的是哪个sql语句,它的意思是在数据库中找到一条与接收到的数据用户名,密码都相同的数据
之后进到主界面
跟之前的用法一样,我们用foreach来完成一条一条读取的操作
<?php foreach($rows as $k => $v):?> <tr> <td><?php echo $v['id']?></td> <td><?php echo $v['title']?></td> <td><?php echo $v['addtime']?></td> <td><a href="edit.php?id=<?php echo $v['id']; ?>">修改</a> <a href="delete.php?id=<?php echo $v['id']?>" onclick="return confirm('确定要删除吗?');" >删除</a> </td> </tr> <?php endforeach;?>
这样简单的界面显示就会出现
之后的修改和删除操作,方法相同,可以再代码中直接读懂
结语:
这是php的简单入门项目,不过是最最最重要的基础,之后可以把它放到各个框架里,可以放到lnmp环境里,也可以显得很高大上,这个程序中还有一个分页算法,我放到下一篇文章里说明,真心希望对一些朋友有帮助,欢迎讨论,轻喷轻喷~~!
- 一个简单的留言板制作【好久不见】
- 用PHP+MySQL制作的一个简单的留言板
- 一个简单的PHP留言板
- jsp+mysql制作简单的留言板(1)
- jsp+mysql制作简单的留言板(2)
- jsp+mysql制作简单的留言板(3)
- jsp+mysql制作简单的留言板(4)
- jsp+mysql制作简单的留言板(5)
- jsp+mysql制作简单的留言板(6)
- 利用c#制作简单的留言板(1)
- 利用c#制作简单的留言板(2)
- 利用c#制作简单的留言板(3)
- 利用c#制作简单的留言板(4)
- 利用C#制作简单的留言板
- 利用c#制作简单的留言板 (4)
- 利用c#制作简单的留言板 (2)
- 利用c#制作简单的留言板
- 利用c#制作简单的留言板
- 用两个栈实现队列
- id ,NSObject, id<NSObject>区别
- 软件开发技术逐步积累汇总
- UESTC 482 Charitable Exchange
- java之this关键字
- 一个简单的留言板制作【好久不见】
- Java - 计蒜客 - 字符串长度
- HDU-1879-继续畅通工程(prim)
- Java - 计蒜客 - 元素移除
- javax.inject.jar:依赖注入非常方便的jar包
- Codeforces Round #354 (Div. 2)-Nicholas and Permutation
- Java - 计蒜客 - 寻找插入位置
- Session和Cookie学习笔记
- 51 52.N-Queens I II