zoukankan      html  css  js  c++  java
  • thinkphp添加后台的构思以及添加数据功能

    先写个表单提交,这就是个简单的后台了。。。其实也可以通过phpadmin。。。phpadmin也叫后台的吧。。。一切都是为了更方便快捷。。。

    先弄个模板,简单了点,就是为了了解实现的流程和原理

    <form action="check.php" method="post">
    添加数据:<input type="text" name="user">
    <input type="submit" value="提交">
    </form>
    View Code

    一会还会改的吧,暂时是这样的。。。

    弄个入口

    就叫admin.php吧

    直接抄的前台入口,这样可好?。。。

    <?php
        define('APP_NAME','admin'); //项目名称
        define('APP_PATH','./admin/'); //项目路径
        define('APP_DEBUG',TRUE); //开启调试模式
        include './ThinkPHP/ThinkPHP.php'; //引入ThinkPHP核心文件
    ?>

    生成吧!!!

    看到控制器我就放心了。。。

    数据库配置就抄写以前的好了。。。

    <?php
    return array(
        //'配置项'=>'配置值'
        //'USERNAME'=>'admin', //赋值
        //数据库配置信息
            'DB_TYPE'   => 'mysql', // 数据库类型
            'DB_HOST'   => 'localhost', // 服务器地址
            'DB_NAME'   => 'confluence', // 数据库名
            'DB_USER'   => 'root', // 用户名
            'DB_PWD'    => 'root', // 密码
            'DB_PORT'   => 3306, // 端口
            'DB_PREFIX' => 'think_', // 数据库表前缀 
            //其他项目配置参数
            // ...
    );
    ?>

    听说可以合并配置项,还能单入口实现,以后再说啦。。。

    以前的方法是这样的。。。

    三行代码。。。但是效果是一到这个页面便执行添加数据了。。。我的表单怎么办?

    百度一下的教程,参考一下http://www.thinkphp.cn/extend/229.html

    还不知道Model具体是个什么东西呢,先不管它。。。

    百度知道了这个东西

    <form method='post' action="__URL__/modfiy">

    这个理论上是可行的。。。

    也不知道这样教程是什么版本的

    先看看模板吧

    模板出来了,编码得改一下

    ok了。。。

    直接找到项目里面的“Runtime”,删除,清理下缓存

    弄了半天是htm代码错了。。。

    <form action="check.php" method="__URL__/insert">

    应该是。。。

    <form action="__URL__/insert" method="post">

    已经能跳转到这个函数了。。。

    public function insert() {
            $Form = D("form");
            if ($Form->create()) {
                if (false !== $Form->add()) {
                    $this->success('数据添加成功!');
                } else {
                    $this->error('数据写入错误');
                }
            } else {
                // 字段验证错误
                $this->error($Form->getError());
            }
        }

    这个函数具体是什么意思呢?。。。

    我的表可是admin啊。。。如果函数里面没有admin这样东西,我感觉逻辑上肯定是不行的。。。

    看看这个http://www.thinkphp.cn/info/101.html

    Call to a member function getError() on a non-object

    我们在insert操作方法中用了D函数,和M函数不同,D函数需要有对应的模型类

    我说呢。。。

    改一下。。。

    <?php
    // 本类由系统自动生成,仅供测试用途
    class IndexAction extends Action {
        public function index(){
    $this->display();
        }
            // 处理表单数据
     
        public function insert(){
            $admin   =   M('admin');
            if($admin->create()) {
                $result =   $admin->add();
                if($result) {
                    $this->success('操作成功!');
                }else{
                    $this->error('写入错误!');
                }
            }
        }
    
    }

    ok。。。

    。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

    先写入口文件

    配置数据库

    添加模板

    编辑控制器

    查看前台效果

  • 相关阅读:
    Python基础之流程控制
    Python基础之深拷贝与浅拷贝
    常见开源告警系统对比分析(prometheus、open-falcon、zabbix)
    prometheus简介
    谈谈业务系统的监控报警
    UML类图与类的关系
    IntelliJ IDEA反向生成UML类图
    UML类图几种关系的总结
    UML类图详解和示例
    leetcode-----43. 字符串相乘
  • 原文地址:https://www.cnblogs.com/hellowzd/p/4090506.html
Copyright © 2011-2022 走看看