PHP+AJAX思想整体回顾(一)

一.表单提交

1.前端页面

action : 提交地址

method : 提交方式 post  get

name : 必须有name属性后台根据name属性取值

enctype : multipart/form-data  上传文件 

2.后面处理表单常用的超全局变量

$_GET      $_POST      $_FILES    $_SESSION     $_COOKIE 可以获取cookie中的数据

二.HTTP协议

1.请求 request

构成:   请求行 :  请求方式    请求地址    协议版本

           请求头 :   把浏览器相关信息发送给服务器

          请求主体 : 传递给服务器核心数据

2.响应response

构成 :  状态行  :  协议版本    状态码

           响应头 :   把服务器的相关信息传递给浏览器

           响应主体 :   把核心数据传递给浏览器

  常见状态码 :

       200 成功        302  页面重定向(跳转了  header('location:./index.php') )

       404页面未找到        500 服务器错误

3.get请求和post请求的区别

1.get请求会在url后面拼接数据  01.php?name=zs&age=18

        1.get 不安全

        2. 大小会受到限制  4kb 左右

        3.get 速度快

        4.get没有请求主体

2.post

        1.相关安全

        2. 对上传文件大小没有限制,  上传文件和图片

        3. post有请求主体

        4. 请求头设置  content-type:application/x-www-form-urlencoded

http协议的请求方式有 : get  post  put  delete

三.sql语法

增删改查

1 .插入  insert into 表名  (字段...)   values(值,值)

2. 删除  delete from  表名  where  id = $id

3. 修改  updete 表名  set  字段  =  值  where  id = $id

4. 查询  select 字段列表  from  表名  where  条件

       and  or  !  与或非

       =    != 

       id  in(3,5,9)   一对多匹配

      模糊匹配   where   name   like  '%王%'

     求和     select   count(*)  as  total   from  表名

5. 表的截取   limit  起始索引,截取长度   

         起始索引  = (当前页面 - 1) * 每页数据条数

6. 排序  order by id desc  默认升序   desc  降序

7. 联合查询 

    select * from  表A  join  表B  on联合条件(表A,外键 = 表B.主键)

四.php操作mySql

1. 连接数据库 mysqli_connect()

2. 准备sql(外双内单) 

        php中双引号可以解析变量

        php中单引号效率高,

3. 执行sql  mysqli_query()  增删改  true  false 查询 结果集 false

4. 显示最近的错误信息 mysqli_error()

5. 获取结果集的行数  myaqli_num_rows($res)

6. 读取结果集中数据

   while(row = mysqli_fetch_assoc($res)){ $data[] = row  }

7. 关闭数据库连接  mysqli_close()

五.cookie 和 Session 

1. conkie 浏览器端存储数据的容器

操作cookie的常用方法,及cookie的特点:

      $.cookie(k,v) ;设置   $.cookie(k) 获取

      $.cookie(k,v,{expire : 1}) 设置有效期  设置有效期为负数 就会自动删除

php操作cookie:

      setcookie(k,v,有效期)  设置cookie

      $_COOKIE超全局变量   只能获取cookie

cookie特点:

      1. cookie大小只有4kb

       2. cookie 中的数据可以被同一个网站多个页面共享

       3. cookie 中的数据会自动添加请求报文中,传递给服务器,供服务器使用

       4. 服务器可以设置响应报文,在响应报文中国进行设置浏览器获取响应报文后,会根据响应报文要求去向cookie中添加数据

2.session 服务器端存储数据的容器

操作session的常用方法,及session的特点:

     使用之前先开启session_start();

     $_SESSION['name'] = 'zs' 

     unset($_SESSION['name'])

     $_SESSION = [ ]

session_start做的三件事:

1. 会随机生成一个sessionID

2. 后台会创建一个session文件 ,文件名就是sessionID 

3. 会将创建sessID 添加给响应报文, 浏览器接受到响应报文后会将sessID存放到cookie中

3. cookie 和 session 配合 实现登录状态保持的过程

1.用户登录成功时,记录用户登录标记

   session_start()

   $_SESSION['user_id'] = id 

2. 下次用户登录个人中心

   1.先判断用户是否携带sessionID

   2 . 判断session是否携带sessionID

 if (!empty($_COOKIE['PHPSESSID'])) {
  		//判断是否和后台对应
		if (empty($_SESSION['user_id'])) {
  			//去登录
		}
     } else  {
  		//去登录
	 }

六 . 原生Ajax(XHMLHttpRequest对象)

var xhr = new XMLHttpRequest();
xhr.open('get','01.php');
xhr.setRequestHeader('content-type','text/html');
xhr.send(null)
//监听服务器响应
xhr.onreadystatechange = function(){
    if(xhr.readyState == 4 && xhr.status == 200){
      var r = xhr.responseText;
    }
}

七. $.ajax( ) 

//  1.语法
$.ajax({
    type:'get',
    url:'0.php',
    dataType:'json', // text  xml jsonp 
    data:{name:'zs'},
    timeout:2000,// 超市
    beforeSend:function(){},
    succes:function(){},
    error:function(){},
    complete:function(){}
});

//  2.如何终止请求
return  false

八.模板引擎(template-web.js)

使用步骤: 1. 引入插件

                 2. 准备模板

                 3. 准备数据(对象)

                 4. 把数据和模板进行组合,生成结构

  注意: 模板的数据必须是对象

           在模板中直接使用对应属性名,不写对象名

语法: 

// 语法:
 1. js代码放在 {{ }}
 2. 遍历
  {{ each list v i}}
  {{ /each}}
 3.判断
  {{ if name == 'zs'}}
  {{ /if }}
  template(模板id.对象)

接下一篇

发布了64 篇原创文章 · 获赞 19 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44114310/article/details/89194532