zoukankan      html  css  js  c++  java
  • 框架学习五:tp框架制作小型留言板系统

    一、入口文件ctl.php

    1 <?php
    2 // 引入及配置框架
    3 define('APP_DEBUG',true);
    4 include('../ThinkPHP/ThinkPHP.php');

     二、首页文件msg.html

     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     2 <html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">
     3 <head>
     4 <title>新建网页</title>
     5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     6 <meta name="description" content="" />
     7 <meta name="keywords" content="" />
     8 <script type="text/javascript">
     9 
    10 </script>
    11 
    12 <style type="text/css">
    13 </style>
    14 </head>
    15     <body>
    16         <h1>用TP完成增删改查</h1>
    17         <form action="ctl.php/Msg/add" method="post">
    18             标题:<input type="text" name="title" /><br />
    19             内容:<textarea name="content"></textarea>
    20             <input type="submit" value="提交" />
    21         </form>
    22     </body>
    23 </html>

    三、配置文件config.php

     1 <?php
     2 return array(
     3     //'配置项'=>'配置值'
     4 
     5      /* URL设置 */
     6     'URL_CASE_INSENSITIVE'  => false,   // 默认false 表示URL区分大小写 true则表示不区分大小写
     7     'URL_MODEL'             => 1,       // URL访问模式,可选参数0、1、2、3,代表以下四种模式:
     8     // 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE  模式); 3 (兼容模式)  默认为PATHINFO 模式,提供最好的用户体验和SEO支持
     9     'URL_PATHINFO_DEPR'     => '/',    // PATHINFO模式下,各参数之间的分割符号
    10 
    11         /* 数据库设置 */
    12     'DB_TYPE'               => 'mysql',     // 数据库类型
    13     'DB_HOST'               => 'localhost', // 服务器地址
    14     'DB_NAME'               => 'tp',          // 数据库名
    15     'DB_USER'               => 'root',      // 用户名
    16     'DB_PWD'                => '',          // 密码
    17     'DB_PORT'               => '3306',        // 端口
    18     'DB_PREFIX'             => '',    // 数据库表前缀
    19     'DB_FIELDTYPE_CHECK'    => false,       // 是否进行字段类型检查
    20     'DB_FIELDS_CACHE'       => true,        // 启用字段缓存
    21     'DB_CHARSET'            => 'utf8',      // 数据库编码默认采用utf8
    22 );
    23 ?>

    四、Action文件MsgAction

     1 <?php
     2 // 本类由系统自动生成,仅供测试用途
     3 class MsgAction extends Action {
     4     public function add(){
     5          $msgModel = new MsgModel();
     6         // var_dump($msgModel->fabu($_POST));
     7         if($msgModel->add($_POST)) {
     8             echo '发布成功';
     9             echo '<a href="/Msg/ctl.php/Msg/msgList">查看</a>';
    10         } else {
    11             echo '发布失败';
    12         }
    13     }
    14      public function msgList() {
    15         // 留言列表
    16         $msgModel = new MsgModel();
    17         $list = $msgModel->select();
    18 
    19         $this->assign('list',$list);
    20         // 默认到TPL/类名目录下,寻找"方法名.html"
    21 
    22         /*$model = new Model('contact');
    23         $all = $model->select();
    24         */
    25 
    26         // 同上的效果,换个写法
    27         // 下行的M方法,相当于new Model,并指定表名是contact
    28         //$model = M('contact');
    29         //$all = $model->select();
    30 
    31         $this->display();
    32         
    33         //print_r($all);
    34     }
    35     public function del() {
    36         // 用D函数,来简化model的创建
    37         $msgModel = D('Msg'); // 用D函数可以防止重复实例化一个MODEL
    38         
    39         // 传递一个参数,自动理解是按主键删除
    40         if($msgModel->delete($_GET['id'])) {
    41             echo '删除成功';
    42             echo '<a href="/Msg/ctl.php/Msg/msgList">查看</a>';
    43         } else {
    44             echo '删除失败';
    45         }
    46     }
    47     public function up() {
    48         $msgModel = D('Msg');
    49         $m = $msgModel->find($_GET['id']);
    50         $this->assign('m',$m);
    51         $this->display();
    52     }
    53 
    54     public function upok() {
    55         // 接收POST
    56         $msgModel = D('Msg');
    57 
    58         // 在保存,$_POST里,有一个id字段,
    59         // 则model在主键字段的情况,会自动根据主键来进行更新.
    60         if($msgModel->save($_POST)) {
    61             echo '修改成功';
    62             echo '<a href="/Msg/ctl.php/Msg/msgList">查看</a>';
    63         } else {
    64             echo '修改失败';
    65         }
    66     }
    67 }

     五、Model文件MsgModel.class.php

    1 <?php
    2 
    3 class MsgModel extends Model {
    4    
    5 }

    六、数据库文件

    1 create database tp charset utf8;
    2 
    3 create table msg(
    4     id int auto_increment primary key,
    5     title varchar(30) not null default '',
    6     content varchar(200) not null default ''
    7 )engine myisam charset utf8;

    七、模板文件
      1、msgList文件

     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     2 <html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">
     3 <head>
     4 <title>新建网页</title>
     5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     6 <meta name="description" content="" />
     7 <meta name="keywords" content="" />
     8 <script type="text/javascript">
     9 
    10 </script>
    11 
    12 <style type="text/css">
    13 </style>
    14 </head>
    15     <body>
    16         <h1>留言列表</h1>
    17         <table border="1">
    18             <tr><td>标号</td><td>标题</td><td>内容</td><td>删|改</td></tr>
    19             <foreach name="list" item="m">
    20             <tr>
    21             <td>{$m.id}</td>
    22             <td>{$m.title}</td>
    23             <td>{$m.content}</td>
    24             <td>
    25             <a href="/Msg/ctl.php/Msg/del/id/{$m.id}"></a>|
    26             <a href="/Msg/ctl.php/Msg/up/id/{$m.id}"></a>
    27             </td>
    28             </tr>
    29             </foreach>
    30         </table>
    31     </body>
    32 </html>

    2、up.html文件

     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     2 <html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">
     3 <head>
     4 <title>新建网页</title>
     5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     6 <meta name="description" content="" />
     7 <meta name="keywords" content="" />
     8 <script type="text/javascript">
     9 
    10 </script>
    11 
    12 <style type="text/css">
    13 </style>
    14 </head>
    15     <body>
    16         <h1>用TP完成增删改查</h1>
    17         <form action="/Msg/ctl.php/Msg/upok" method="post">
    18             标题:<input type="text" name="title" value="{$m.title}" /><br />
    19             内容:<textarea name="content">{$m.content}</textarea>
    20             <input type="hidden" name="id" value="{$m.id}" />
    21             <input type="submit" value="修改" />
    22         </form>
    23     </body>
    24 </html>

    八、系统运行效果图片

    首页图片:

    增加留言成功页面

    查看留言页面

    删除成功页面

    修改页面

    修改成功页面

  • 相关阅读:
    Sql获取数据集中各类型中的最大值(最新值)
    oracle重装系统后恢复
    icePDF去水印方法
    js的倒计时在ie下显示NAN的最佳解决办法
    类属性与类方法
    多继承、多态
    继承、方法重写与调用
    私有方法
    对象的属性隐藏
    __init__、__str__、__del__方法
  • 原文地址:https://www.cnblogs.com/zhanghonggang/p/3175559.html
Copyright © 2011-2022 走看看