PHP基础知识学习+json学习
1,配置PHP文件
*在服务器上安装PHP,解压到纯英文路径下
*在Apache中添加支持PHP的配置,也就是添加PHP模块。如下
# php support
LoadModule php7_module C:/Develop/php/php7apache2_4.dll
*在 <IfModule mime_module>节点中添加.php扩展名解析支持,如下
# parse .php files
AddType application/x‐httpd‐php .php
*默认文档配置节点<IfModule mime_module>中添加index.php
默认文档指的是在访问一个目录而不是具体文件名时,默认执行的文件名,如下
<IfModule dir_module> DirectoryIndex index.html index.php </IfModule>
*重启Apache
2,Apache与PHP的关联
3, 应用软件架构一般分为两类:
B/S 架构:Browser(浏览器) ←→ Server(服务器),这种软件都是通过浏览器访问一个网站使用, 服务器提供数据存储等服务。
C/S 架构:Client(客户端) ←→ Server(服务器),这种软件通过安装一个软件到电脑,然后使用, 服务器提供数据存储等服务。
4,get,post区别
5, 状态码
状态代码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。
1xx:指示信息 —— 表示请求已接收,继续处理。
2xx:成功 —— 表示请求已被成功接收、理解、接受。
3xx:重定向 —— 要完成请求必须进行更进一步的操作。
4xx:客户端错误 —— 请求有语法错误或请求无法实现。
5xx:服务器端错误 —— 服务器未能实现合法的请求。
常见状态代码、状态描述的说明如下。
200 OK:客户端请求成功。
400 Bad Request:客户端请求有语法错误,不能被服务器所理解。
401 Unauthorized:请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一起使用。
403 Forbidden:服务器收到请求,但是拒绝提供服务。
404 Not Found:请求资源不存在,举个例子:输入了错误的URL。
500 Internal Server Error:服务器发生不可预期的错误。
503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常。、
6,PHP中语法问题
a,表单基本使用
PHP 中有三个超全局变量专门用来获取表单提交内容:
$_GET :用于获取以 GET 方式提交的内容
$_POST :用于获取以 POST 方式提交的内容
$_REQUEST :用于获取 GET 或 POST 方式提交的内容
b,提交地址:,建议使用 $_SERVER['PHP_SELF'] 动态获取当前页面访问路径,这样就不用因为文件重命名或者网站目录结 构调整而修改代码了:
<!‐‐ 这样写死 action 地址,当文件重命名就需要修改代码 ‐‐>
<form action="/foo/login.php">
<!‐‐ ... ‐‐>
</form>
<!‐‐ 通过 `$_SERVER['PHP_SELF']` 获取路径,可以轻松避免这个问题 ‐‐>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>">
<!‐‐ ... ‐‐>
</form>
7,json学习
JSON(JavaScript Object Notation) 是一种通过普通字符串描述数据的手段,用于表示有结构的数据。类似于编 程语言中字面量的概念,语法上跟 JavaScript 的字面量非常类似。
* 数据类型:null string number boolean object array(例:["zhangsan", "lisi", "wangwu"])
例:object:
{ "name": "zce", "age": 18, "gender": true, "girl_friend": null }
注意
1. JSON 中属性名称必须用双引号包裹 ,两组数据之间用“,”隔开
2. JSON 中表述字符串必须使用双引号
3. JSON 中不能有单行或多行注释
4. JSON 没有 undefined 这个值
* 问号传参
一般情况下,如果需要超链接点击发起的请求可以传递参数,我们可以采用 ? 的方式
<a href="/delete.php?id=123">删除</a>
注意:PHP 变量规则:
- 变量以 $ 符号开头,其后是变量的名称
- 变量名称必须以字母或下划线开头
- 变量名称不能以数字开头
- 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
- 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)
8,参考链接
HTML 中的 form 标签:http://www.w3school.com.cn/html/html_forms.asp
PHP 中处理表单:http://www.w3school.com.cn/php/php_forms.asp
Emmet 手册:https://docs.emmet.io/cheat-sheet/
9,cookie和session
由于 Cookie 是服务端下发给客户端由客户端本地保存的。换而言之客户端可以在本地对其随意操作,包括删除和 修改。如果客
户端随意伪造一个 Cookie 的话,对于服务端是无法辨别的,就会造成服务端被蒙蔽,构成安全隐 患。
于是乎就有了另外一种基于 Cookie 基础之上的手段:Session
Session 区别于 Cookie 一个很大的地方就是:Session 数据存在了服务端,而 Cookie 存在了客户端本地,存在服 务端最大的优
势就是,不是用户想怎么改就怎么改了。
Session 这种机制会更加适合于存放一些属于用户而又不能让用户修改的数据,因为客户端不再保存具体的数据, 只是保存一
把“钥匙”,伪造一把可以用的钥匙,可能性是极低的,所以不需要在意。