php初学篇

PHP

登录注册
登录
1、拿到用户输入的用户名和密码
2、发送给后台
后台:
1、拿到数据到数据库里面进行比对
2、比对的结果 返回给前端
服务器
就是一台电脑 只不过是一台超级电脑 只要运行了 一些特定的程序以后就可以是一台服务器
里面存放了 很多文件夹
0-255个文件夹
每一个文件夹里面 又有 0- 255 个文件夹
256 * 256

网站 www.baidu.com => http://www.baidu.com:443
网址 三个部分组成
1、协议 http(默认端口80) https(默认端口443) file
2、域名 (IP地址)
3、端口

数据库
数据库里面 由很多的 库组成
库是由一张张表组成

格式要求

var num = 100

# $ 声明变量  $变量名   
# 每一句 php 代码后面都必须加 ; 

输出

echo $num;

#解决中文乱码的问题
header(“content-type:text/html;charset=utf-8;”);

循环

// for($i = 0 ; $i < 3 ; $i++){
// echo $i;
// }

// $i = 0;
// while($i < 3){
//     $i++;
//     echo $i;

// }

数组

$arr = array(1,2,3); # 索引型数组

# $arr = array("name" => "Jack","age" => 18);   # 关联型数组  类似 JS 里面的 {}
# 拿里面的数据 可以通过 [] 获取  不能使用 .
# $num = 10;

# echo  只能输出基本数据类型
# echo $arr;
# print_r($arr);   输出索引
# var_dump($arr);   输出索引和每一项的数据类型


// echo true;
// print_r(true);
# echo 和 print_r  输出true 在页面显示的是1   false 什么也不显示

# var_dump  可以输出布尔值
# var_dump($arr["name"]);


for($i = 0 ; $i < 3 ;$i++){
    var_dump('这是我的第 ' .$i. ' 个');
}

#  ""  可以解析变量    '' 不能解析变量
# . 在 PHP 里面 是拼接的作用

cookie

php 里面设置 cookie PHP 给我们提供了一个方法 叫做 setcookie

# setcookie('a',100,time() + 10);

修改 cookie 就是再设置一下 把原来的 覆盖了

setcookie('age','90');

cookie 都没有删除的说法 只能设置过期时间

setcookie('age','suibian',time() - 1);

/*
cookie 是浏览器提供给我们存储数据的地方
前端可以操作 cookie 但是后端也能操作 cookie

        根据域名来存取 cookie 



        格式 字符串
        `key=value; key=value; `



        cookie 默认是一个 会话级别  页面一关闭就没有了  所以可以手动设置  cookie 的过期时间



        expires 设置 cookie 的 过期时间
    */

// expires 设置 cookie 的过期时间要以服务器的时间为准
// 我们设置的时候 把自己电脑上获取的时间 往前推算 8个 小时

HTTP

前后端的交流

  • 前端给后端发送一条消息
  • 后端给前端回一条消息
  • 建立连接
  • 发送一个消息 (请求 request)
  • 服务端回一个消息 ( 响应 response)
  • 关闭连接

建立连接的三次握手

  • 客户端
    自己能够正常发
    自己能够正常收
    服务端可以正常收
    服务端可以正常发

    • 服务端
      自己能够正常发
      自己能够正常收
      客户端可以正常收
      客户端可以正常发
    • 客户端给服务端发送一条消息
      客户端知道自己能够正常发
      服务端知道自己可以正常收
      服务端知道客户端可以正常发
    • 服务端要给客户端回一条消息
      客户端知道自己能够正常发
      服务端知道自己可以正常收
      服务端知道客户端可以正常发
      服务端知道自己可以正常发
      客户端知道自己能够正常收
      客户端知道服务端可以正常收
      客户端知道服务端可以正常发
    • 客户端继续给服务端发消息
      客户端知道自己能够正常发
      服务端知道自己可以正常收
      服务端知道客户端可以正常发
      服务端知道自己可以正常发
      客户端知道自己能够正常收
      客户端知道服务端可以正常收
      客户端知道服务端可以正常发
      服务端知道客户端可以正常收
  • 发送一个消息 (请求 request)

    • 每一个请求里面包含一个 请求报文 就是对这次请求的一个详细描述
    • 请求报文 里面包含 请求行 请求头 请求空行 请求体
      • 请求行 GET /login.php?username=11&password=111 HTTP/1.1
        • GET 请求方式
        • /login.php 请求的 URL (路径标识符)
        • HTTP/1.1 请求协议版本号
      • 请求头
        • Host 主机域名
        • User-Agent 客户端版本
        • Accept 以什么格式解析文件
        • Referer 从哪个地方来
        • Accept-Encoding 数据格式
        • cookie
      • 请求空行
        在请求头和请求体之间留一个空行
      • 请求体
        GET 方式提交数据 没有请求体
        拼接到浏览器地址栏然后一起发送过去
        POST 提交的数据都在请求体里面
  • 服务端回一个消息 (响应 response)
    每一个响应都有一个响应报文
    响应报文 里面包含 状态行 响应头 响应体

    • HTTP/1.1 200 OK
      • 100 - 599
        • 100 - 199 继续连接
        • 200 - 299 响应成功
        • 300 - 399 重定向成功
        • 400 - 499 一切客户端错误
        • 500 - 599 一切服务端错误
    • 响应头
      • Date 服务器时间
      • Server 服务器版本
      • Content-Length 响应体的长度
      • Content-Type
    • 响应体
  • 关闭连接(四次挥手)

    • 客户端给服务端发送一条消息 ‘我要准备关闭连接了’
    • 服务端给客户端回一条消息 ‘好的 我已经准备好关闭连接’
    • 服务端给客户端回一条消息 ‘当我在接收到消息的时候 我已经关闭连接并且不会在回你消息’
    • 客户端给服务端发送一条消息 ‘我已经关闭连接 并且不会再给你发送消息了’
  • 常见的请求方式

    • GET
    • POST
    • PUT 增加 修改
    • DELETE 删除
    • PATCH 修改 局部
    • CONNECT HTTP 保留的一种请求方式
    • OPTIONS
    • HEAD 没有任何响应 只是为了拿到头部信息
  • GET 和 POST 的一个区别

    • GET
      • 相对不安全
      • 会被浏览器缓存
      • 提交的数据长度有限制
      • 数据格式 只支持 ASCII 编码
    • POST
      • 相对安全
      • 不会被浏览器缓存
      • POST 请求对数据长度理论上没有限制 但是可以被服务端限制
      • 对于数据格式没有要求

sessionStorage、localStorage和cookie的区别

共同点:都是保存在浏览器端、且同源的
区别:
1、cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递,而sessionStorage和localStorage不会自动把数据发送给服务器,仅在本地保存。cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下
2、存储大小限制也不同,cookie数据不能超过4K,同时因为每次http请求都会携带cookie、所以cookie只适合保存很小的数据,如会话标识。sessionStorage和localStorage虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大
3、数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭之前有效;localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie:只在设置的cookie过期时间之前有效,即使窗口关闭或浏览器关闭
4、作用域不同,sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;localstorage在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的

AJAX

ajax
async javascript and xml
请求 和后端的交流手段

        1、创建一个  ajax 对象  js 给我们提供了一个内置构造函数 
            + XMLHttpRequest
            + ActiveXObject('Microsoft.XMLHttp') IE8以下
        2、 // 2、告诉这个对象  你的请求方式 和 请求地址 
            xhr.open(请求方式,请求地址,待定)
            第三个参数 默认是  true 代表异步   
                改成 false 同步

1、创建一个 ajax 对象
const xhr = new XMLHttpRequest()

    // 2、告诉这个对象  你的请求方式 和 请求地址 
    xhr.open('GET','./login.php')
    // 3、把这个请求发送出去
    xhr.send()
    // 4、需要接受返回的数据 
    // ajax 的状态码
    // xhr.readyState = 4 的时候  表示响应内容已经全部解析完毕  我们可以拿来使用了
    // http 状态码 
    // status
    // 需要知道请求是否发送成功  并且是否能够拿到数据 
    // onreadyStateChange  当  ajax 状态码 发生改变的时候会触发的事件
    // responseText 是后端响应回来的内容

h5以后 ajax 对象提供了一个方法 xhr.onload
// 就是 当 ajax 的 状态码为 4 的时候 并且 http 状态码是 2开头的时候 触发的函数

携带参数的 get 请求
// get 请求 携带参数 应该吧参数 拼接到地址后面 ?key=value&key=value&key=value
const xhr = new XMLHttpRequest()
xhr.open(‘GET’, ./login.php?uname=${username}&pwd=${password})

Jsonp

同源策略
协议
域名
端口
只要有一个不一样 都不能访问 ( 跨域 )
浏览器规定的
你(客户端)不能随便访问 别人家的东西

promise

用于解决回调地狱,让异步看起来像同步

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值