一.表单提交
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.对象)