实现功能:

  留言、搜索、编辑、删除、详情页、时间、点击量

页面划分:  

  index.html(留言列表页)
  add.html(留言页)
  edit.php(编辑页)
  del.php(删除页)
  view.php(详情页)
  conn.php(数据库连接)

数据字段:

  

视图呈现:

  

代码展现:

index.php

<link rel="stylesheet" href="css/main.css">
<div class="g-wrap">
<div class="m-top">
<a class="mt-link" href="add.php">留言</a>
<div class="mt-search">
<form action="" name="keys">
<input type="text" name="keys">
<input type="submit" value="搜索">
</form>
</div>
</div>
<div class="m-con">
<ul class="m-infor">
<?php
include("conn.php");//引入数据库
if(!empty($_GET['keys'])){
$w = " `title` like '%".$_GET['keys']."%' ";
}
else{
$w = 1;
}
$sql = "select * from `news` where $w order by id desc limit 10";//倒序显示10条,where 1表示没有任何条件和不写一样
$query = mysql_query($sql);//执行sql语句并返回资源
//$rs = mysql_fetch_array($query);//返回双重数组,下标和键名都有,每执行一次得到一条
while( ($rs = mysql_fetch_array($query)) != false ){
?>
<li class="mi-list">
<h3 class="ml-top">
<a href="view.php?id=<?php echo $rs['id']; ?>">
<?php echo $rs['title']; ?>
</a>
</h3>
<div class="ml-cen">
<?php echo iconv_substr($rs['contents'],0,10,"gbk"); ?>...
</div>
<div class="ml-bot">
<span class="mb-l"><?php echo $rs['dates']; ?></span>
<div class="mb-r">
<a href="edit.php?id=<?php echo $rs['id']; ?>">编辑</a>
<a href="del.php?del=<?php echo $rs['id']; ?>">删除</a>
</div>
</div>
</li>
<?php
}
?>
</ul>
</div>
</div>

add.php

<link rel="stylesheet" href="css/main.css">
<?php
include("conn.php");//引入链接数据库
if( !empty($_POST["sub"]) ){//第一次返回真empty($_POST["sub"])这里也可以用其他值判断
$title = $_POST['title'];
$con = $_POST['con']; $sql = "insert into `news` (`id`,`title`,`dates`,`contents`,`hits`) values (null,'$title',now(),'$con',0)"; mysql_query($sql);//执行sql语句 $url = "./index.php"; echo "<script>location.href='".$url."';</script>";
//print_r($sql);
}
?>
<div class="g-wrap">
<div class="m-form">
<form action="add.php" method="post">
<ul>
<li>
<label for="">标题:</label>
<input type="text" name="title">
</li>
<li>
<label for="">内容:</label>
<textarea id="" cols="30" rows="10" name="con"></textarea>
</li>
<li>
<input type="submit" name="sub" value="发表">
</li>
</ul>
</form>
</div>
</div>

edit.php

<link rel="stylesheet" href="css/main.css">
<?php
include("conn.php");
if( !empty($_GET['id']) ){
$sql = "select * from news where `id`='".$_GET['id']."'";
$query = mysql_query($sql);//执行sql语句 $rs = mysql_fetch_array($query);
//print_r($rs);
}
//执行update语句
if(!empty($_POST["sub"])){//第一次返回真empty($_POST["sub"])这里也可以用其他值判断 这里只有点提交的时候才执行嘛 $title = $_POST['title'];
$con = $_POST['con'];
$hid = $_POST['hid'];//这里也可以通过get获取值与之对应起来
$sql = "update `news` set `title`='$title',`contents`='$con' where id='$hid' limit 1 "; mysql_query($sql);//执行sql语句 //echo "更新成功";
echo "<script>alert('更新成功!');location.href='index.php';</script>";
}
?>
<div class="g-wrap">
<div class="m-form">
<form action="edit.php" method="post">
<input type="hidden" name="hid" value="<?php echo $rs['id']; ?>">
<ul>
<li>
<label for="">标题:</label>
<input type="text" name="title" value="<?php echo $rs['title']; ?>">
</li>
<li>
<label for="">内容:</label>
<textarea id="" cols="30" rows="10" name="con"><?php echo $rs['contents']; ?></textarea>
</li>
<li>
<input type="submit" name="sub" value="发表">
</li>
</ul>
</form>
</div>
</div>

del.php

<?php
include("conn.php"); if(!empty($_GET['del'])){//empty()当为空时返回真
$d = $_GET['del'];
$sql = "delete from `news` where `id`='$d'"; mysql_query($sql);//执行sql语句
$url = "./index.php";
echo "<script>alert('删除成功!');location.href='".$url."';</script>";
}
?>

view.php

<link rel="stylesheet" href="css/main.css">
<?php
include("conn.php");//引入链接数据库
if(!empty($_GET['id'])){
$sql = "select * from news where `id`='".$_GET['id']."'";
$query = mysql_query($sql);//执行sql语句 $rs = mysql_fetch_array($query); //print_r($rs); $sqlup = "update news set hits=hits+1 where `id`='".$_GET['id']."'";
mysql_query($sqlup); }
?>
<div class="g-wrap m-infor-details">
<h1 class="mid-title"><?php echo $rs['title']; ?></h1>
<p class="mid-con">
<?php echo $rs['contents']; ?>
</p>
<div class="mid-bot">
<span class="mid-b-l">时间:
<?php echo $rs['dates']; ?>
</span>
<span class="mid-b-r">点击量:
<?php echo $rs['hits']; ?>
</span>
</div>
</div>

conn.php

<?php
//@不把错误暴露出来
@mysql_connect("localhost:3306","root","123456") or die("mysql链接失败");
@mysql_select_db("test") or die("db链接失败"); //mysql_set_charset("gbk");//php5.2.3以上
mysql_query("set names 'gbk'");
?>

main.css

*{
margin:;
padding:;
}
li{
list-style-type: none;
}
body{
background-color: #1B9102;
font-size: 14px;
}
/*....................................index.html...........*/
.g-wrap{
margin: 50px auto 0;
width: 500px;
min-height: 300px;
box-shadow: 0 0 10px #fff;
}
.m-top{
background-color: #d2d2d2;
overflow: hidden;
}
.mt-link{
float: left;
}
.mt-search{
float: right;
font-size:;
}
[type=submit]{
cursor: pointer;
}
.mi-list{
color: #adadad;
padding-top: 20px;
border-bottom: 1px dashed #fff;
}
.ml-top{
color: #333;
}
.ml-cen{
margin-top: 10px;
font-size: 12px;
}
.ml-bot{
height: 50px;
line-height: 50px;
margin-top: 10px;
}
.mb-l{
float: left;
color: pink;
}
.mb-r{
float: right;
cursor: pointer;
}
/*......................................add.html...........*/
.m-form{
padding: 20px;
box-sizing: border-box;
}
.m-form li{
margin-bottom: 20px;
}
.m-form label{
color: #fff;
vertical-align: top;
}
/*......................................view.html...........*/
.m-infor-details{
padding: 20px 20px 50px;
box-sizing: border-box;
position: relative
}
.mid-title{
color: #fff;
text-align: center;
}
.mid-con{
color: #a9a9a9;
font-size: 14px;
margin-top: 20px;
text-indent: 30px;
}
.mid-bot{
position: absolute;
right: 20px;
bottom:;
left: 20px;
height: 50px;
line-height: 50px;
color: #fff;
}
.mid-b-l{
float: left;
}
.mid-b-r{
float: right;
}

代码下载

  

PHP留言小练习的更多相关文章

  1. 微信小程序 「柒留言」 — 实现微信公众号留言功能(限时免费入驻,建议收藏)

    「柒留言」小程序留言助手使用指南(接近原生界面) 前言 从去年 3 月以后新公众号就没得留言功能了,新申请的微信公众号没有留言功能,没有留言就无法跟读者进行互动,写出去的文章得不到反馈,着实感觉有蛮难 ...

  2. 微信小程序新服务消息推送 —— 订阅消息

    微信团队前不久公测了「订阅消息」,原有的小程序模板消息接口将于 2020 年 1 月 10 日下线,届时将无法发送模板消息.「订阅消息」将完全替代「模板消息」,这两天得空测试了一波. 1.下发权限机制 ...

  3. node实战小例子

    第一章 2020-2-6 留言小本子 思路(由于本章没有数据库,客户提交的数据放在全局变量,接收请求用的是bodyParser, padyParser使用方法 app.use(bodyParser.u ...

  4. FPGA入门实例一:LFSR

    一:任务: 要求使用Verilog语言在Xilinx Virtex-6开发板上实现线性反馈移位寄存器(LFSR)的硬件逻辑设计. 二:前期准备: 基本上完成一个简单的设计需要用到以下几个软件 逻辑:U ...

  5. Kali环境使用Metasploit生成木马入侵安卓手机

    Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报.这些功能包括智能开发,代码审计, ...

  6. nodejs+express+jade+mongodb给我baby做个小相册(2)-留言板

    上一篇简单的实现了下照片的展现跟浏览功能,这一篇我将给这个程序添加一个留言的功能.那么留言的话肯定要涉及到数据持久了,其实对于这个小功能的话,用个xml就可以,不过为了看起来更加高大上,我决定使用mo ...

  7. 微信小程序实现简易留言板

    微信小程序现在很火,于是也就玩玩,做了一个简易的留言板,让大家看看,你们会说no picture you say a j8 a,好吧先上图. 样子就是的,功能一目了然,下面我们就贴实现的代码,首先是H ...

  8. 「小程序JAVA实战」小程序的留言和评价功能(70)

    转自:https://idig8.com/2018/10/28/xiaochengxujavashizhanxiaochengxudeliuyanhepingjiagongneng69/ 目前小程序这 ...

  9. 小博客| 登录 | 注册 | 留言 | 提Bug 小博客

     浏览(1502)  赞(29) 一直以来都想开发一个自己的网站,总想做一个网站然后让千千万万的人去访问,去使用,然后收到热烈的好评, 再然后某某著名机构有意投资我的网站(其实收购也是没有问题的), ...

随机推荐

  1. Python 规范化LinkedIn用户联系人的职位名

    CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-8-19 @author: guaguastd @name: j ...

  2. 转:HDMI介绍与流程

    HDMI介绍与流程   HDMI,全称为(High Definition Multimedia Interface)高清多媒体接口,主要用于传输高清音视频信号. HDMI引脚: HDMI有A,B,C, ...

  3. Java 调用OPENOFFIC 转换文档类型

    public static void office2PDF(String sourceFile, String destFile) { try { File inputFile = new File( ...

  4. An easy to use android color picker library

    https://github.com/xdtianyu/ColorPicker

  5. dede频道标签channel和频道内容标签channelartlist的调用栏目名的不同方式,如果错误使用标签会发生错误

    频道标签 [field:typename/] 频道内容标签 {dede:field name='typename'/}

  6. spark on yarn 配置history server

    spark在yarn模式下配置history server 1.建立hdfs文件– hadoop fs -mkdir /user/spark– hadoop fs -mkdir /user/spark ...

  7. css选择器参考手册

    选择器 例子 例子描述 CSS .class .intro 选择 class="intro" 的所有元素. 1 #id #firstname 选择 id="firstna ...

  8. 06 php 单例模式

    一:单例模式的三大原则 (1)构造函数需要标记为非public(防止外部使用new操作符创建对象),单例类不能在其他类中实例化,只能被自身实例化. (2)拥有一个保存类的实例的静态成员变量$_inst ...

  9. java多线程那些事之中的一个

    1.  Callable 接口 获取线程运行状态(get.get(long timeout)),取消线程(cancel(boolean  mayinterruptifrunning)).isCance ...

  10. eclipse spring4 ehache2.10 整合

    http://blog.csdn.net/tonytfjing/article/details/39251507 http://my.oschina.net/duoduo3369/blog/17392 ...