PHP留言小练习
Posted 认认真真,知难而进。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP留言小练习相关的知识,希望对你有一定的参考价值。
实现功能:
留言、搜索、编辑、删除、详情页、时间、点击量
页面划分:
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: 0; padding: 0; } 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: 0; } [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: 0; left: 20px; height: 50px; line-height: 50px; color: #fff; } .mid-b-l{ float: left; } .mid-b-r{ float: right; }
以上是关于PHP留言小练习的主要内容,如果未能解决你的问题,请参考以下文章