m_Orchestrate learning system---十、解决bug最根本的操作是什么

一、总结

一句话总结:多学多练,遇到bug超级轻松

1、如何查看js代码的异常?

开发者选项里面可以查看js的异常情况

2、在视图页面调用session的时候手册对应的内容在哪里找?

在view页面调用session

这个版块的内容在 模板->变量输出 里面

1、其实也就是说所有的 和页面有关的操作都能够在模板里面找到

2、还是要边看边学,这样效率才会更高

1 系统变量输出
2
3 普通的模板变量需要首先赋值后才能在模板中输出,但是系统变量则不需要,可以直接在模板中输出,系统变量的输出通常以{$Think 打头,例如:
4 {$Think.server.script_name} // 输出$_SERVER['SCRIPT_NAME']变量
5 {$Think.session.user_id} // 输出$_SESSION['user_id']变量
6 {$Think.get.pageNumber} // 输出$_GET['pageNumber']变量
7 {$Think.cookie.name} // 输出$_COOKIE['name']变量
8 支持输出 $_SERVER 、$_ENV 、 $_POST 、 $_GET 、 $_REQUEST 、$_SESSION 和 $_COOKIE
9 变量。

3、所以在view页面调用session的话就是{$Think.session.user_id},其实也就是think关键字+对象+元素的形式,而且中间是点,在view页面调用元素就是点,其实这里是和php语法对应的,如果是在控制器中,或者在页面中套用php标签,都是正常的中括号来调用 元素

3、label标签for属性的作用是什么?

1 <div class="am-form-group">
2 <label for="user-name" class="am-u-sm-3 am-form-label">Article Title</label>
3 <div class="am-u-sm-9">
4 <input type="text" class="tpl-form-input" id="user-name" name="title" required="" placeholder="Please input article title">
5 <small class="am-text-danger">* required</small>
6 </div>
7 </div>

作用:点击label之后for目标的那个控件可以获得焦点

4、百度编辑器如何使用?

在页面中的时候

1、引入css和js

1 <script type="text/javascript" src="__TEACHER__/ueditor/ueditor.config.js"></script>
2 <script type="text/javascript" src="__TEACHER__/ueditor/ueditor.all.min.js"></script>
3 <script type="text/javascript" src="__TEACHER__/ueditor/lang/en/en.js"></script>

2、将需要百度编辑器位置的textarea换成如下代码

<textarea  name="content" id="content" cols="30" rows="6"></textarea>

主要是其中的id="content"器作用,配合第三部的js就好

3、用js实现百度编辑器替换指点位置的textarea文本框

1 <script type="text/javascript">
2 UE.getEditor('content',{initialFrameWidth:700,initialFrameHeight:300,});
3 </script>

说明:如果要换成中文版的,把第一步调用的语言包换成中文的就好

5、一对多,多对多,多对一的数据表如何设计?

关于存其它数据表的字段

这里的author直接用的session里面的数据,感觉其实可以直接用 author 的 id 可能会更好一点

1、就是一个表引用另一个表的数据的时候,存下主键最好

6、图片上传是最常见错误是什么?

enctype="multipart/form-data"

当打印上传数据的时候,发现图片也赫然其中

这边把picture用掉了,所以以文件形式提取picture的时候就没有了

控制器代码如下:

 1 //增加文章方法
2 public function add(){
3 //1、将主题信息传递到页面
4 $dataout=db('topic')->select();
5 $this->assign('dataout',$dataout);
6 //2、获取页面传递过来的数据
7 if(request()->isPost()){
8 //1、获取传入非文件数据
9 $data=input('post.');
10 $data['time']=time();
11 //2、获取传入的文件数据
12 if($_FILES['picture']['tmp_name']){
13 // 获取表单上传文件 例如上传了001.jpg
14 $file = request()->file('picture');
15 // 移动到框架应用根目录/public/uploads/ 目录下
16 $info = $file->move(ROOT_PATH . 'public' . DS . 'static/uploads/teacher');
17 // 已经上传成功,我们要把文件的路径写进数据库
18 $data['picture']='/static/uploads/teacher/'.$info->getSaveName();
19 }
20 //3、对传入的数据进行验证
21 $validate = Loader::validate('Article');
22 if(!$validate->scene('add')->check($data)){
23 $this->error($validate->getError()); die;
24 }
25 //4、将所有数据插入数据库
26 if(db('article')->insert($data)){
27 return $this->success('Add article success!!','article/index');
28 }else{
29 return $this->error('Fail to add article!!');
30 }
31 }
32 return view();
33 }

这里虽然是报的控制器的错误,其实报错就是代表运行最后出现错误的位置,其实并不代表真正的错误出现在这

错误就是form表单中没有添加:

enctype="multipart/form-data"
<form class="am-form tpl-form-line-form" enctype="multipart/form-data" action="" method="post">

所以启示是什么:

1、这里虽然是报的控制器的错误,其实报错就是代表运行最后出现错误的位置,其实并不代表真正的错误出现在这
2、要多学,要不是之前已经遇到过这个错误,这个错误会特别难排查,要多学

7、验证器错误的最可能原因是什么?

数据表对应字段啊

验证器出现不知名的错误检查验证器对应的表是否有这个字段

article表里面是没有那么字段的,有的是title

所以这里那么的话肯定会错

启示:

1、验证器出现不知名的错误检查验证器对应的表是否有这个字段

二、内容在总结中

 

项目地址

fry404006308/m_Orchestrate: m_Orchestrate
https://github.com/fry404006308/m_Orchestrate

m_Orchestrate learning system---十、解决bug最根本的操作是什么的更多相关文章

  1. m_Orchestrate learning system---三十二、数据库字段判断为空时容易出现问题,如何从根本上解决这个问题

    m_Orchestrate learning system---三十二.数据库字段判断为空时容易出现问题,如何从根本上解决这个问题 一.总结 一句话总结:字段禁止为空,设置默认值0即可 禁止 空 默认 ...

  2. m_Orchestrate learning system---三十六、如何修改插件的样式(比如ueditor)

    m_Orchestrate learning system---三十六.如何修改插件的样式(比如ueditor) 一.总结 一句话总结:所有的js,html插件,修改样式无非是两种,一是直接修改css ...

  3. m_Orchestrate learning system---三十、项目中的dist文件一般是做什么的

    m_Orchestrate learning system---三十.项目中的dist文件一般是做什么的 一.总结 一句话总结: Bootstrap switch:dist 目录是放最终的js和css ...

  4. m_Orchestrate learning system---二十九、什么情况下用数据库做配置字段,什么情况下用配置文件做配置

    m_Orchestrate learning system---二十九.什么情况下用数据库做配置字段,什么情况下用配置文件做配置 一.总结 一句话总结: 配置文件 开发人员 重置 数据库 非开发人员 ...

  5. m_Orchestrate learning system---二十、如何写代码不容易犯错

    m_Orchestrate learning system---二十.如何写代码不容易犯错 一.总结 一句话总结:能排序多排序 这次查错的启示: 1.代码数据更规整:要是取出的数据排序的话可以减少很多 ...

  6. m_Orchestrate learning system---二十四、thinkphp里面的ajax如何使用

    m_Orchestrate learning system---二十四.thinkphp里面的ajax如何使用 一.总结 一句话总结:其实ajax非常简单:前台要做的事情就是发送ajax请求过来,后台 ...

  7. m_Orchestrate learning system---二十五、复制类的时候最容易出现的错误是什么

    m_Orchestrate learning system---二十五.复制类的时候最容易出现的错误是什么 一.总结 一句话总结:命名空间错误导致Analyze类虽然继承了Base类,但是没有执行里面 ...

  8. m_Orchestrate learning system---二十六、动态给封装好的控件添加属性

    m_Orchestrate learning system---二十六.动态给封装好的控件添加属性 一.总结 一句话总结:比如我现在封装好了ueditor控件,我外部调用这个控件,因为要写数据到数据库 ...

  9. m_Orchestrate learning system---三十五、php数据和js数据的解耦:php数据(php代码)不要放到js代码中

    m_Orchestrate learning system---三十五.php数据和js数据的解耦:php数据(php代码)不要放到js代码中 一.总结 一句话总结:也就是以html为中介,用html ...

随机推荐

  1. asf

    这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能  够为国内IT的发展尽自己一份微薄的力量.最近看到很多学生朋友和我当年一样没有方向  ,所以把我的经历写出来与大家共勉, ...

  2. 什么是EL表达式

    转自:https://blog.csdn.net/hj7jay/article/details/51302466 1. EL表达式主要作用 EL表达式说白了,就是让JSP写起来更加方便,它属于JSP技 ...

  3. ZYQAssetPickerController的使用,不错的图片选择

    import UIKit class ViewController: UIViewController,ZYQAssetPickerControllerDelegate,UIImagePickerCo ...

  4. Neo4j下执行cypher-shell时,Connection refused问题解决?

    不多说,直接上干货!  问题现象 root@zhouls-/bin# ls cypher-shell neo4j neo4j-admin neo4j-import neo4j-shell tools ...

  5. Linux下编译安装Memcache

    需要gcc,make,cmake,autoconf,libtool等工具,联网后,yum install -y gcc,make,cmake,autoconf,libtool 编译安装libevent ...

  6. quartz定时任务框架调度机制解析

    转自集群调度机制调研及源码分析 quartz2.2.1集群调度机制调研及源码分析引言quartz集群架构调度器实例化调度过程触发器的获取触发trigger:Job执行过程:总结:附: 引言 qurat ...

  7. ServiceStack.Redis之IRedisClient(转载)

    一.属性 IRedisClient的属性如下: 属性 说明 ConnectTimeout  连接超时 Db 当前数据库的ID或下标 DbSize  当前数据库的 key 的数量 HadExceptio ...

  8. BarTender无法连接到数据库?原来是微软补丁包捣的鬼

    近期有很多BarTender用户反映,在使用BarTender设计打印条码时,经常会出现错误消息6670 的提示,使得BarTender无法连接到数据库,究其原因,原来是微软补丁包捣的鬼.目前海鸥科技 ...

  9. 新物理AI将可能成为量子计算革命的关键

    新物理AI将可能成为量子计算革命的关键 据外媒报道,量子计算无疑是现在最令人兴奋的技术之一,但它的量子物理基础却让它成为了一个令人讨厌的概念理解甚至很难再展开其他事情.然而,最近物理学研究的一项突破可 ...

  10. js浏览器下载总结(ios、and、微信、qq)

    前段时间做了个项目,里面关于手机移动端下载的问题 开始是判断微信.ios和android系统的下载 因为微信屏蔽点击事件和链接的缘故,需要通过打开新页面来进行下载 ios和android的下载分别为不 ...