框架学习五: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>
八、系统运行效果图片
首页图片:
增加留言成功页面
查看留言页面
删除成功页面
修改页面
修改成功页面