一个简单的留言板制作【好久不见】

来源:互联网 发布: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环境里,也可以显得很高大上,这个程序中还有一个分页算法,我放到下一篇文章里说明,真心希望对一些朋友有帮助,欢迎讨论,轻喷轻喷~~!

0 0
原创粉丝点击