004 - PHP git

##   报错 
 `git上传要写限制500M那个,要不页面不更新`

www.wangeditor.com

dataType: 'json',


print_r($_SERVER);
dump();
echo();


###  bootstript 的居中类名
   container

####  百度云上传的  bug
出不来页面:
/view/
改成APP/view/

进了phpfunction index(){ 中,print_r(123); 看一下,能不能出来123.}
如果还是没有,看看 include 'APP/view/gameadmin.html'; 这几个字对了没,核对文件夹里,
是不是 gameadmin  写成 Gameadmin 了 。一般只有这个错误


如果出现404页面 是路径问题   大小写问题

###   解决 bug
//调试 :  到处 用 echo 查看,在 index.php 中,在 core 中,一步一步echo ,看看到哪一步没有的
//echo 123;


####★技巧★   密码安全保障机制
md5()
把任意长度的字符串 --> 定长的字符串

####★技巧★   关闭input的默认弹框
   <input autocomplete="off" placeholder="歌手名">

   ajax 的值要用JS先从html中获取,再传给phpphp处理数据库中,然后从php发回来再在JS处理显示在页面上

####★技巧★   进入页面后自动触发这个事件   刷新
$(window).trigger('hashchange');

页面跳转:
location.href = location.pathname + '#list';

####★技巧★   浏览器 报错   
Parse error: syntax error, unexpected end of file in D:already.html on line 109

<?php ?>  书写错误
echo的结尾没加分号  ; 


####★技巧★   报错
 data = JSON.parse(data);

   loadings(data);
可能是调用函数没有传参  loadings();

原因:data数据有问题
 data: {name: nameEl, prive: priceEl, pic: picEl, num: numEl, cid: cidEl},
price 写错


####★技巧★   选中复选框的值
$('.radio:checked')
`let cidEl = $('.radio:checked').val();`

nameEl.val()

####★技巧★  console.table
   console.table


####★技巧★   修改 input 值,必须修改value<input type="hidden" name='id' class="form-control" id="exampleInputEmail0" placeholder="<?php echo $data['id'] ?>" value="<?php echo $data['id'] ?>">

jquery input 的值是:  nameEl.val()


####★技巧★  
localhostz就等于127.0.0.1
192.168.3.1668087    8087是端口号


####★技巧★   后台有哪些语言    
//JS python php node.js java .net
`通过json()方式来链接`


####★技巧★  鼠标点击事件 默认增加
element event listeners 下查看鼠标点击事件被注册越来越多次。
换一批点击事件在length下时,每次length=3时,下边的on事件就多注册一次,所以会出现点击次数越多,注册越多的现象。

1个汉子3个字节

####★技巧★    浏览器CSS改变后不更新
浏览器newwork勾上  disable cache


####★技巧★    JS 引入   返回 从哪来到哪去
<script src="javascript:history.go(-1)">返回</script>
<a href="javascript:history.go(-1)"></a>

####★技巧★     apache允许外网访问
apache  httpd.conf  httpd-vhosts.conf  中都改为:
#   onlineoffline tag - don't remove
    Require all granted


####★技巧★  phpMyadmin  数据库注意数据类型 字段长度的选择
phpMyadmin --> test --> news   5  -->  id  INT / VARCHAR / text/mediumtext 字段长度不够  --》  保存

####★技巧★   跳转页面,修改网址  的方法
  JS   `location.href = $('a')[0].getAttribute('href')`
<p>页面会在<span>5</span>秒后跳转,如果没有,请<a href="<?php echo $url ?>">点击跳转</a></p>

`include '../0614/jump.html';`
`header('Location:/0614/');`  //校验成功进入首页

####★技巧★  localhost 不能用解决方法:

localhost= 127.0.0.1=

wamp用户名:root  
密码: 空


wamp版本太低,需要在5.5版本以上 
PHP-->version-->get more 下载新版本

####★技巧★    webstorm  系统检测出问题
设置中 --> Appearance & Behavior --> System Setting --> Synchronization --> 下边只留第一个的对勾 (后边为自动保存)

mysql wampserver

####★技巧★ 
用户看到的是图形
浏览器看到的是对象
JS看到的是字符串、代码


####★技巧★  滚动条  超出浏览器    scrollTop
$(window).scroll(function(){
    console.log($(document).scrollTop())
})


####★技巧★
$('li').css({color:'red'})  
中的 $('li')  称为JQuery集合

####★技巧★ 赋值
程序运行第一步都在赋值


####★技巧★   网址   下载JQuery
www.bootcdn.cn

####★技巧★   JQuery兼容问题
2.0开始不再兼容IE81.12以下可以兼容IE8.

DOM   Document Object Model  文档对象模型

####★技巧★
控制台中  属性:  length:(...)  三个点是get set 事件

####★技巧★  视口
    <!--逻辑像素-->
    <!--实际像素-->
    <!--视口 一般手机浏览器的viewpoort = 980px -->
    <!--  把手机浏览器的viewpoort改成手机的逻辑像素 -->

 <!--   视口  手机的视口  不加 <meat>的时候像素是980px
                             <meat>
    视口  手机里的浏览器 默认展示的大小-->

####★技巧★
tabs[k].classList.remove('active');
navs[i].classList.add('active');

####★技巧★
移动端  
width:7.5rem   不要这样写

默认
*{
   box-sizing:border-box;
}

优先使用   flex   100%   最后再选rem


####★技巧★   浏览器  报错!!!
代码修改,但浏览器没变(浏览器中的缓存还在)
sourse network    disable cache  强制把缓存去掉

####★技巧★
在控制台 console 中输入  查看图片
for(let i = 0;i<document.images.length;i++){
    console.log(document.images[i].src)
}

$('h1')

####★技巧★   控制台的properties  是原型链

####★技巧★
字符串只有空字符串为空

####★技巧★
函数内部打断点没有显示,隐藏的,只有在函数运行,点击事件的时候回出现

####★技巧★ 
渐变--兼容问题
先写兼容,最后写标准。

####★技巧★ 
display:flex

行内块元素的时候:display:inline-flex

容器下边统一的为项目
容器本身,项目
方向、换行、水平、垂直,单轴交叉、多轴交叉


####★技巧★      编程风格
firstnum = secondnum = '';
等同于
firstnum = undefined;
secondnum = undefined;

####★技巧★   习惯用 +=  

####★技巧★    查看它是否添加事件: 
浏览器控制台---element添加事件---Event Listeners    

####★技巧★   调试出错   
调试:把所有变量  表达式的值  都输出来就能解决

####★技巧★    scope控制台调试

####★技巧★   调试出错  
检查类名是否重复

####★技巧★ 
flex布局中有个  调竖直高度元素的
align-items: center;

####★技巧★ 
实例化 就是指 new一个东西,new这个东西


####★技巧★ 
   添加 移出类名
tabs[k].classList.remove('active');
tabs[k].classList.add('active');


####★技巧★ 
obj.a == obj['a']



####
    一、
1.JavaScript是基于原型的语言
2.10种数据类型(大致上)都是对象  (除undefined3.每个对象都有自己的原型  __proto__ (只要是对象,就有原型)
4.Object.prototype 是所有原型的终点
      ///
5.所有对象都能使用原型链上所有的属性和方法
//

    二、
this一般出现在函数内部
哪个对象调用这个函数   this就指向谁    //谁调用它就指向谁

this可以被强制替换


三、new的时候发生了什么

函数对象上有一个特殊的属性叫:prototype
这是javascript专门为原型设计的一个属性

//     var o = new A();    //此时的o是对象
//    1.o = {}           创建一个空对象
//    2.A.call(o)     call的方式调用构造函数       把this替换成o
//    o._proto_ = A.prototype
//    3.o加上原型   A.prototype  属性
//    4.return o



    var arr = new Array[1,2,3];
//    var arr = {};
//    Array.call(arr,1,2,3);
//    arr.__proto__  = Array.prototype







对象    构造函数
function A(){
    this.a = 12;
    this.b = 13;
}
var o = new A();    //此时的o是对象
    o.a    o.b     //因此可以用  0.a  o.b









####     /JQuery

$('li')   //JQuery集合






####     cmd  命令    环境变量     SASS

//环境变量
    1.QQ(软件)的安装目录找到,复制地址,   D:\QQ\Bin       2.放到环境变量中(属性--高级设置--环境变量--path--加分号),
    3.cmd 中运行  qq


dir
    ls -al
    clear
    node -v
    npm -v

cmd-->
    cd 切换目录
    dir    查看目录下文件
    npm 下载(已有)程序
npm install -g bing-pic  把微软官网的图片换成背景图片      运行  bing-pic

   npm install -g node-sass  安装node-sass的软件     node-sass -v
    npm install -g cnpm  //中文版 npm
    命令改为:
    cnpm install -g node-sass

任何一个文件中都有 两个文件夹  .    ..
        .  当前文件夹
        .. 上一层

cmd中复制命令:右键--标记--回车   C:\Users\Administrator\AppData\Roaming\npm
    把文件拖过去

    node-sass -w index.scss index.css
    node-sass -w index.scss index.css --output-style expanded



. Sass简介

Sass 是一种css预处理器,CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件,然后开发者就只要使用这种语言进行编码工作。


/*

变量默认只能在属性值中使用

差值:
选址器和属性部分用差值 #{$s}

*/


###    占位符 %      生成高效率群组选择器
   %  继承的方法   --> 群组选择器

###    扩展/继承(@extend)

%mt5 {
    margin-top: 5px;
}
%pt5{
   padding-top: 5px;
}

.btn {
   @extend %mt5;
   @extend %pt5;
}

###  for 循环
@for $i from 1 through $num{
        #{$box}:nth-child(#{$i}){
            animation: drop 1s cubic-bezier(0.38, 1.48, 0.22, 1.32) ( $i - 1 ) * 0.1s both;
        }
    }

<?php 
for ($x=0; $x<=10; $x++) {
  echo "数字是:$x <br>";
} 
?>


<!--<?php for($X=0;X<=$v['num'];$X++){-->
                    <!--echo "<span class='fire'></span>"-->
                    <!--} ?>-->


###    each 遍历
$arr: 'one','two','three';
@each $v in $arr{
    .atem-#{$v}{
        color:red;
    }
}

/*html中遍历:
foreach($data as $v){

}*/

####      PHP中      遍历:
                  键    值
/*foreach($arr as $k => $v){
    dump($k,$v);
};

foreach ($nts as $key => $value) {
    var_dump($key, $value);
    $id = $value['id'];
    dump($id);
};

## ★★★★★★★★★★★  SASS  ★★★★★★★★★

   $a:13;
   $a:12 !default;  //默认
   @debug $a;
   $aa: 10rem;
   $b: 10px;
   $c: null;
   @debug $aa;
   @debug $b;
   @debug $c;
   $d: $a * 2;
   $border: '1px solid black';
   @debug $d;
   @if ($a > 7){
   
   }

## ★     ★★★★★★★★★★★  PHP  ★★★★★★★★★



公告栏
当我们打开浏览器
输入一个地址
随后发生了什么

## 【浏览器(chrome)】的主要功能:
   1.通过网络发送请求,
   3.接受网络上发给它的回应
   4.根据回应的内容进行对应的操作(**一般为渲染(画图)**)
----------------------------- http 协议 ----------------------------------
   是服务器和浏览器之间通信遵循的一个规则
## 【服务器Apache】的主要功能
   2.回应通过网络发送过来的请求。
   如果请求的资源是一个php文件
apache  不会把php文件的内容发回去
apache  会把该文件当成一段程序去运行
程序运行一般都有输出
apache 拿到这个输出
通过网络吧这个输出发回浏览器

WAMP server
WwindowsAApacheMMysqlPPhpjava node.js perl .net


## 【浏览器】会在什么情况下发送请求
1.输入地址回车(主动)
2.点击a链接(有可能,主动)
3.提交表单有可能会发起请求(主动)  form
   input
4.绘制html的过程中会自动发起请求(自动)
5.解析css的过程中可能会自动发起请求(自动)   `background-image:('../img/1.png');``
6.解释js的过程中有可能会是自动发起请求(自动)【ajax
## 【浏览器】发出去的请求是什么?
是一堆字符串
   GET /a.html HTTP/1.1      【要获取的文件  http协议】
   Host: 192.168.4.147          【地址,从哪获取的】
   Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8  【获取的文件的类型】

## 【服务器】发回来的是什么
是一堆字符串
          200  OK  404 报错 500 报错
   HTTP/1.1 304 Not Modified        【头】
   Server: 

Apache/2.2.29 (Unix)  ...   【空行】   服务器类型
   content-Length:54  //字节    1025字节==1M  1024M==1G     【空行】 【内容的长度】
   content-Type:text/html(plain)           【主体】      【请求内容的类型,】
content-Type:text/html   返回的是html内容
content-Type:text/plain  返回全部(包括标签)如下

<html>
<body>
   <h1>this is header</h1>
</body>
</html>


## ★★★★★  PHP 输出  ★★★★★★★★★

//echo '<pre>';
//    print_r($_SERVER);
//echo '</pre>';

<?php

// 变量
// 数据类型
// 表达式和语句
// 运算符
// 控制流程
// echo 5;
//    echo rand( 1,10 );
   if(rand( 1,10 )>5) {


 ./error.jsWEB中是 localhost/index.php/error.js
 /views/error.js


###       header('Content-Type:text/plain');   `修改头部信息`
header 是选中头部信息
      header('X-sever:ABC');
      include 'a.html';   //输出  a.html 这个文件
   }else{
      header('Content-Type:text/html');  
      修改头部信息
      header 是选中头部信息
        
      header('X-sever:DEF');
      include '1.txt';
   }

dump()


 
###  程序头部:调试工具:   +vendor文件夹   ★★★★★★★ ★★★★★★★
<?php

include "vendor/autoload.php";
$whoops = new \Whoops\Run;
$options = new \Whoops\Handler\PrettyPageHandler();
$whoops->pushHandler($options);
$whoops->register();
ini_set('display_errors', 'On');



## ★★★★★★★★★★★★★★   PHP  ★★★★★★★★★★★★★★
####    PHP   WEB开发中 ./  ../
   页面是从服务器回来的:

.   代表  localhost/index.php
/   代表  localhost


###     ./   退回一级
请求: http://localhost/index.php/air/qwe/ewqqwe/ewq
返回: http://localhost/index.php/air/qwe/ewqqwe/error.js

###     ../  退回2请求: http://localhost/index.php/air/qwe/ewqqwe/ewq
返回: http://localhost/index.php/air/qwe/error.js

一般不要用  ./  ../ 用直接的  `/views/error.js` 

./error.js WEB中表示应该是 `localhost/index.php/error.js`



### > incliude 引入的html页面中如果包含php标记
   会先运行标记中的代码,运行完之后再输出整个内容
### > include 也能引入php文件,如果引入的是php文件
   运行这个文件


#######################       数据类型          ############################

/*
$int = 12;
dump($int);
$float = 12.5;
dump($float);
$str1 = 'string{$float}';
$str2 = "string{$float}"; //相当于 JS中的模板字符串   `阿斯顿还{aasd}asd`
dump($str1);
dump($str2);

$name = "\\name"; //转义字符串  \ 为了使\name正常输出来
dump($name);

$arr = array(
    'k1' => 'v1',
    'k2' => 'v1',
    'k3' => 'v1',
    'k4' => array('a','b',1,2.3)
);
dump($arr);*/

//unset($arr['k2']);
//dump($arr);





class A{
    public $a;

    public function getA()
    {
        return $this->a = 12;
    }
}
$o = new A();
dump($o);*/


## ★★★★★★★★★★★★★★   变量   PHP 基础  ★★★★★★★★★★★★★★

// 字符串连接
$num = 12.8;
$string = "this is world".$num;

// 双引号中使用变量
$world = "world";
$hello = "hello {$world}";

// 转义特殊字符
$class_name = "\\name";
echo $class_name;

// 遍历
foreach ($array as $key => $value) {
  var_dump($key, $value);
}

// 对象
class foo
{
    function do_foo()
    {
        echo "Doing foo.";
    }
}

gettype()函数可以得到变量的类型
is_[type]()函数可以用来判断某个变量是否某个类型
var_dump()函数会输出变量的类型和值

静态变量
static $sum = 0;



$_SERVER;
   以结构化的形式存储用户的请求信息和一些与服务器相关的信息
dump($_SERVER);

循环 date里有几条,就循环几次

组件   面板

##    login
<!--导航条   修改类-->
<!--name是提交表单时查询字符串的 键-->

name = account   type = text
name = password  type = password

<!--<from action="https://www.baidu.com/s" method="post" >-->

## ★★★★★★★★★★★    作业   ★★★★★★★★★★★

login ( 导航条 表单 面板 自己的CSS-->  
/ (首页用:面板) -->  
list  (用列表组)  -->  
news  (用面板)  -->  
air (有图片的页面  用缩略图)  -->  
mac(不用做)  -->   
404页面  


## ★★★★★★★★★★  news中两种方法:    ★★★★★★

不用输入:
<ul>
    <?php foreach($_REQUEST as $v):  ?>
    <li>
        <?php echo $v ?>
    </li>
    <?php endforeach;?>
</ul>


需要从列表页进入先点:
<li><?php echo $_REQUEST['title']; ?></li>
<li><?php echo $_REQUEST['content']; ?></li>


    <ul>
        <?php foreach($_REQUEST as $v):  ?>
        <li>
            <?php echo $v ?>
        </li>
        <?php endforeach;?>
    </ul>

//$tip = getMessage();
//数据库



###  表单中method=post  就是把值隐藏掉  =get 不会隐藏
   比如说密码的输入显示和隐藏
<form action="/index.php/img" method="post"> 
   <input type="submit"  value="搜索">
</form>
一般都用隐藏  

if(isset){   //isset是看一个数组中有没有一个值,如果有返回true,否则返回false
}

#####     截取

$path = explode('?',$_SERVER['REQUEST_URI'])[0];
$action = explode('/',$path)[2];

######   函数

function index(){}    用法和JS的函数用法一样,只是可以是可变函数
   $fn = 'index';   $fn()  ==> 相当于 index();

isset(变量)            检测这个变量是否存在
function_exists(函数)    检测这个函数是否存在


####    news_lest 源代码
/*$data = array(
        0 => array(
            'title' => '111',
            'author' => 'a1',
            'content' => '没有什么问题是火力覆盖解决不了的,如果有,那就问啊!',
        ),
        1 => array(
            'title' => '222',
            'content' => '世界十大名枪之首:AK-47的魅力所在'
        ),
        2 => array(
            'title' => '333',
            'content' => '解放军这款战机到底有多厉害?美国将其列为三'
        ),
        3 => array(
            'title' => '444',
            'content' => '看武警汽车兵炫技,感受军营的速度与激情'
        )
    );*/

## ★★★★★★★★★★   数据库 test

phpMyadmin --> test --> news   5  -->  id  
`类型选择` : INT / VARCHAR / text/mediumtext 字段长度不够  --》  保存

名字        类型          默认                排序                规则
content       text                     utf8_general_ci
ctime     TIMESTAMP  CURRENT_TIMESTAMP


time:date

通用
utf8_general_ci

插入 --> 不用管id

PDO中复制代码到 PHP代码

修改代码   dbname   
    'dbname' => 'test',
    'username' => 'root',
    'password' => '',


 $stmt = $pdo->query('select * from news');  
   相当于JS $pdo.query()
SELECT * FROM `news` WHERE 1

SELECT title,content FROM `news`

SELECT * FROM `news` WHERE  id = 1  
SELECT * FROM `news` WHERE  author = 'wo'

#####    把数据表中的title下的内容全改为titleUPDATE `advanture` SET `title`='真心话'

<!-- 引入JQuery2.2.4-->

        <a href="/0614/index.php/news?title= <?php echo $v['title'] ?> & author= <?php echo $v['author'] ?> & time= <?php echo $v['time'] ?> & content= <?php echo $v['content'] ?>" class="list-group-item list-group-item-success">


<!--<?php echo $data['id'] ?>-->

<!--    <ul >
        <?php foreach($data as $v):  ?>
        <li>
            <a href="/index.php/news?title= <?php echo $v['title'] ?> &content= <?php echo $v['content'] ?>">
                <?php echo $v['title']; ?>
            </a>
        </li>
        <?php endforeach;?>
    </ul>-->


## ★★★★★★★★★★   作业    ★★★★★★★★★★

1.熟练掌握变换形式之后的代码
2.学会查询数据库
3.完成新闻列表  新闻详情页面
4.完成登录功能
5.让首页显示数据库中的最新添加的一条公告()

## ★★★★★★★★★   数组的长度
echo count($arr);


## ★★★★★★★★★   编码历史
ascII 编码
gbk2312
unicodeutf-8   优化过的,基础是unicode码的编码
byte
字节 bytes   = 8个位
00010001
h
l



####    page.php下边的

include 'core/pdo.php';
        global $pdo;


#####  method_exists — 检查类的方法是否存在
bool method_exists ( mixed $object , string $method_name )
检查类的方法是否存在于指定的 object中。

//方法二
        if(isset($_SERVER['PATH_INFO'])){          //是否有fn
            $fn = substr($_SERVER['PATH_INFO'],1);
        }else{
            $fn = 'index';
        }

        if(method_exists('pages',$fn)){  //判断 $fn 这个函数是否存在
            $pages->$fn();
        }else{
            include '../405.html';
        }

file_exists  判断有没这个文件
class_exists 检查类是否已定义


JSON.stringify(arr);   //JS中转换为字符串 便于 php转换
json_decode(); //php中解码
json_encode(); //php中编码
JSON.parse(data);   //JS中转换为数组 便于 php转换

#####      pring_r(111);
PHP中需使用   pring_r(111);

####  admin
数据库
`$stmt = $db->pdo->query('select * from risk order by id desc limit 3 offset '.($page - 1) * 3);//数据库     偏移,跳过9`


#####    x的东西
    function x(){
        $page = $_REQUEST['page'];
        include 'core/Db.php';
        $db = new Db();
        $stmt = $db->pdo->query('select * from advanture order by id desc limit 3 offset 3 ');//数据库     偏移,跳过9//        $stmt = $db->pdo->query('select * from advanture order by id desc limit 3 offset 3'.($page - 1) * 3);//数据库     偏移,跳过9//        $stmt->bindValue(1,($page - 1) * 3);
//        $stmt->execute();
        $data1 = $stmt->fetchAll();
        $data = json_encode($data1);
    }




#####    SQL  

##  index.php 中的
//以下为今天练习的
try {
    $pdo = new PDO('mysql:host=localhost;dbname=test;port=3306;charset=utf8','root','');
//          $pdo = new PDO('mysql:host = localhost;dbname = test;port=3306,charset = utf8', 'root', '');
} catch (PDOException $e) {
    dump($e->getMessage());
}

//增删改查

//$stmt = $pdo->query('select * from trues');
$data = $stmt->fetchAll();
print_r($data);


////问号用prepare
$stmt = $pdo->prepare('insert into trues (id,name,age) values(?,?,?)');   //   (id,name,age) 必须是 trues 表里有的
$stmt->bindValue(1, 18);
$stmt->bindValue(2, 'asddsa');
$stmt->bindValue(3, 'hgfdsdgh');
$stmt->execute();
$id = $pdo->lastInsertId();
print_r($id);

//删   一条
$stmt = $pdo->prepare('delete from trues where id = ?');
$stmt->bindValue(1, 1);
$stmt->execute();
删多条
$stmt = $pdo->query('delete from trues where id in (9,8,7,6,5) ');
$stmt->execute();   //执行准备好的Query


//$stmt = $pdo->prepare('update trues set name = ?, age = ? where id = ?');
$stmt->bindValue(1, 'asddsaasd'); //问号的值
$stmt->bindValue(2, 'asddsa');
$stmt->bindValue(3, '4');
$stmt->execute();

/
$id = $db->pdo->lastInsertId();



## database.sql 下边的

-- 这个文件我们不直接使用
-- 在该文件中定义整个应用到的数据库表
--删除 risk -- //注意最后一个是分号‘;’

DROP TABLE IF EXISTS trues;
CREATE TABLE trues(
    id INT(12) PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(255),
    age VARCHAR(255)
) DEFAULT CHARSET = utf8;
INSERT INTO trues (name,age) VALUES
('名字1','年龄1'),
('名字2','年龄2'),
('名字3','年龄3'),
('名字4','年龄4'),
('名字1','年龄1'),
('名字2','年龄2'),
('名字3','年龄3'),
('名字4','年龄4'),
('名字1','年龄1'),
('名字2','年龄2'),
('名字3','年龄3'),
('名字4','年龄4');


####    ajax   
ajaxStart
ajaxSuccess
$(document).ajaxComplete(function(){
    $('.tip').css({background:'#00C853'}).stop().animate({width:'100%'}).queue(function(){
        $('.tip').css({width:'5%',height:'0'}).dequeue();
    })
});

###       php中让进程停顿 1sleep(1)

####      ajax 传参
url: '/ktv/index.php/store_admin/delete_store',
data: {id: id},
url: '/ktv/index.php/store_admin/delete_store' + id,



<label>
    <?php if(isset ($_REQUEST['id']) && $v['id'] == $_REQUEST['id']):?>
    <input type="radio" name="cid" value="<?php echo $v['id']?>" placeholder="" checked="checked">
    <?php else:?>
    <input type="radio" name="cid" value="<?php echo $v['id']?>" placeholder="">
    <?php endif;?>
    <?php echo $v['name']?>
</label>


####   ajax  浏览器中  newwork  的格式
ajax 请求中加入 dataType: 'json', 转成json格式
ajax请求的type   xhr


#####    编程思想:数据驱动页面   
#####    编程方法:一言不合就重绘        
#####    让状态管理变得不再繁琐 

百度云操作 

###          
买机器   点住 选 休眠

应用引擎BAE -->  上传.jpg --> 下一步

上传之前 先跑这行代码
git config http.postBuffer 524288000

##  `git上传要写限制500M那个,要不页面不更新`

500M

git 忽略文件:   .创一个.gitignore文件    忽略某些    
在里面写`.idea/`  和文件的名字

百度云上传出错,在更多操作中查看日志
重点对比路径上的大小写问题    core/Core

git传代码

--新版   --快捷发布


404 not found--> 

买数据库:
test --> 导出 sql语句,在这边复制

sql的名字  链接地址   
db中内容全要换

全文件搜索替换

git push

重新上传  

####  百度云上传的  bug
出不来页面:
/view/
改成APP/view/

进了phpfunction index(){ 中,print_r(123); 看一下,能不能出来123.}
如果还是没有,看看 include 'APP/view/gameadmin.html'; 这几个字对了没,核对文件夹里,
是不是 gameadmin  写成 Gameadmin 了 。一般只有这个错误


如果出现404页面 是路径问题   大小写问题

###   解决 bug
//调试 :  到处 用 echo 查看,在 index.php 中,在 core 中,一步一步echo ,看看到哪一步没有的
//echo 123;

###   框架升级

# 1. 命名空间 namespace app;
//namespace lib;//写所在文件夹的名字
//namespace core\c;//写所在文件夹的名字  在 core 文件夹下的c文件夹下的
`一旦加命名空间,用的时候就要注意,后边的后腰加那个命名空间了`

#2. core 改造

 autoload 方法

#3. index 定常量
define

spl_autoload_register('core::autoload'); //new core 下边的autoload 文件

#4.  new M方法
   new db

#5.  db



Db中操作

M('song')->fetchAll();

M('song')->fetch();

where 


$arr = Array(
  a=>1;
  b=>2;
)

 `被替换为`
extract($arr);
$a = 1$b = 2;

core  修改


###  制作博客:

数据库 创建内容和用户--sql

header bootstrap  写样式

app 下新建homehtml

新建点赞数据库

视图 检索点赞数 点踩数

判断时候有某各类 点赞

ajax发出请求

M方法给默认值

pd方法默认值



// 每一根线  配图  a 链接 

做页面,做后台

新框架


## 添加图片 

htmlform 要写一句 exp....
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值