新手PHP入门详细文档(自用|未完待续)

本文概述了PHP在网站开发中的基本概念,介绍了静态和动态网站的特点,涉及服务器、IP、域名、DNS、端口以及HTTP协议的原理。此外,还详细讲解了会话控制(Cookie和Session)、PHP对MySQL的支持以及WampServer的安装与使用。
摘要由CSDN通过智能技术生成

参照https://www.bilibili.com/video/BV18x411H7qD?p=2&spm_id_from=pageDriver&vd_source=c89472aeb75d6ac21f532a3547a347e2 ,https://www.php.net/manual/zh/等等


php定义

服务器端的html脚本/编程语言
该语言让web开发人员快速书写动态生成的网页
前身:Personal HomePage,个人主页,使用Perl语言开发的一种写个人主页的语言
php:PHP Hypertext Preprocessor,超文本预处理器,底层使用c语言

平台支持(window,Linux ,UNIX)
数据库支持(Salsexxex,mxsql,oracle,Access)


网站的基本概念

Website的中文名称是网站,是指在互联网上,根据一定的规则,使用HTML、PHP等代码语言制作的用于展示特定内容的相关网页的集合,有可供管理人员操作的后台及用户使用的前台。简单地说,Website是一种通讯工具,就像布告栏一样,人们可以通过Website来发布自己想要公开的资讯,或者利用Website来提供相关的网络服务。人们可以通过网页浏览器来访问Website,获取自己需要的资讯或者享受网络服务。

静态网站特点

1.网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页的内容都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件;
内容相对稳定,因此容易被搜索引擎检索;
3.没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难;
4.交互性较差,在功能方面有较大的限制。

动态网站特点

1.交互性:网页会根据用户的要求和选择动态地改变和响应浏览器作为客户端,成为一个动态交流的桥梁,动态网页的交互性也是今后Web 发展的潮流。
⒉.自动更新:即无须手动更新HTM文档,便会自动生成新页面,可以大大节省工作量o3.因3.时因人而变:即当不同时间、不同用户访问同一网址时会出现不同页面。
3.此外动态网页是与静态网页相对应的,也就是说,网页URL的后缀不是. htm、.html、. shtml、.xml等静态网页的常见形式,而是以.asp、jsp、.php、.perl.、.cgi等形式为后缀。在动态网页网址中有一个标志性的符号——“?”


服务器概念

用来提供服务的设备。根据服务不同分为文件服务器,数据库服务器,用程序服务器,WEB服务器等。
由处理器、硬盘、内存、系统总线等构成。
由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

服务器:能够提供服务的机器,取决于机器上所安装的软件(服务软件)
Web服务器:提供 web服务(网站访问),就需要安装web服务软件,Apache,tomcat,iis.等
Web服务器专门处理HTTP请求、解析HTTP协议。
接收到HTTP请求后 返回HTTP响应,为了处理一个请求。
Web服务器可以响应一个静态页面、图片或者进行页面跳转,或者把动态响应的产生委托给一些其他的应用程序,例如PHP脚本、CGI、JSP脚本、Servlet、ASP脚本,或者一些其他的服务器端技术。


IP概念

IP: Internet Protocol,网络之间互联协议。网络之间互连的协议也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。IP地址具有唯一性。·
(给电脑用的)

域名

域名(Domain Name),是类似www.itcast.cn的 Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。域名是一个IP地址上有“面具”。一个域名的目的是便于记忆和沟通的一组服务器的地址(网站,电子邮件,FTP等)。域名作为力所能及难忘的互联网参与者的名称。
特殊IP:127.0.0.1,代表本机特殊域名: localhost
(给人用的)

DNS

Domain Name System域名系统
因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的ip地址的过程叫做域名解析(或者主机名解析)

用户输入域名localhost——>DNS(localhost 127.0.0。1)——>服务器电脑

端口

(找软件)
设备与外界通讯交流的出口
虚拟端口:计算机内部或交换机路由器内的端口,不可见。
物理端口:又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。

用户输入域名localhost——>DNS(localhost 127.0.0。1)——>服务器电脑——>软件(服务)

web程序访问流程

web:
静态网站
动态网站

浏览器发起访问——》DNS域名解析——》服务器电脑—端口—》服务软件

静态网站的访问

在这里插入图片描述

动态网站的访问

动态网站访问流程与静态差不多,但是会多出几个内容:服务器端解析、数据库
在这里插入图片描述


php运行环境的安装 (WampServer

Apache+PHP+MySQL=>WampServer
安装过了 不作赘述
在这里插入图片描述
在这里插入图片描述
成功后运行wamp,输入网址http://localhost:8080/,显示如下
在这里插入图片描述

基础使用

www目录被称为Apache服务器的主目录。可以创建一个目录php专门放置php代码
在这里插入图片描述
在php文件夹中创建2.php
在这里插入图片描述
显示
在这里插入图片描述

1.基础语法
标记符: <?php...?>
纯php代码文件可省略结尾标记符
注释://、#、/**/
语句:以;结尾

2.数据类型

a)标量数据类型
i.整型:
ii.浮点型:不支持等值比较
ili.布尔型: true和false,还有0、0.0、"、‘0’、空数组、NULL也是逻辑假
iv.字符串:单引号、双引号、定位符
(单引号和双引号的主要区别:双引号中的变量会被解析,单引号原样输出)

b)复合数据类型
i.数组:键值对、值的数据类型可以不一样
ii.对象:封装、继承和多态

c)特殊类型
i.资源:数据库连接、文件指针等
ii.NULL

3.数据的输出
a) echo:输出多个变量
b)print:输出单个变量
c)print_r:用于可视化数组的输出
d)var_dump:输出数据类型和值
在这里插入图片描述
4.常量和变量
a)常量
i.定义: define、const
ii.使用:直接使用常量名、constant函数
iii.规范:使用大写字母
iv.判断是否定义: defined
v.预定义常量
b)变量
i.定义: + 标识符 i i . 标识符规则 1. 字母、数字 和 组 成 2. 以字母 和 开 头 3. 区分大小写 4. 不要使用关键字 i i i . 可变变量 : 变量的标识符是变化的,通过变量来控制, +标识符 ii.标识符规则 1.字母、数字和_组成 2.以字母和_开头 3.区分大小写 4.不要使用关键字 iii.可变变量:变量的标识符是变化的,通过变量来控制, +标识符ii.标识符规则1.字母、数字2.以字母3.区分大小写4.不要使用关键字iii.可变变量:变量的标识符是变化的,通过变量来控制,$开头
iv.赋值
1.传值赋值
2.引用赋值:&,其中一个变量的改变也会改变另外一个变量的值
v.预定义变量

5.运算符:
a)算术运算符:+,会将其它数据类型转换为数值再进行计算
b)字符串连接符:.,进行字符串连接,会将其它数据类型转换为字符串
c)逻辑运算符:注意and or xor的优先级
d)关系运算符:== 和 ===
e)条件运算符:?:

6.数据类型转换
a)自动(隐式)转换
i.四条规则
b)强制(显式)转换

PHP与Web交互

HTTP协议基础

1、HTTP通信机制

在这里插入图片描述

PHP Web应用程序的通信,采用HTTP协议
一次完整的HTTP通信过程中,Web浏览器Web服务器之间将依次完成连接、请求、响应、关闭4种类型的工作。

(1) 建立TCP连接
HTTP工作之前Web浏览器首先要通过网络Web服务器建立连接,该连接是通过TCP协议来完成的,该协议与IP协议共同构建Internet,即TCP/IP协议,因此Internet又称作是TCP/IP网络
(2) 发送HTTP请求
一旦成功建立了TCP连接Web浏览器就可以向Web服务器发送HTTP请求了。当浏览器向服务器发出HTTP请求时,它向服务器传递一个数据块,也就是HTTP请求信息
(3) 发送HTTP响应
Web浏览器向Web服务器发送HTTP请求后,服务器会向浏览器回送响应。当服务器向浏览器回送响应时,它会向浏览器传递一个数据块,也就是HTTP响应信息
(4) 关闭TCP连接
一般情况下,一旦Web服务器向浏览器发送了响应数据,就会关闭TCP连接。如果浏览器在请求头或者服务器在响应头信息中加入了代码**“Connection:keep-alive”,则TCP连接在发送信息后,将仍然保持打开状态**,这样,浏览器就可以通过相同的TCP连接继续发送HTTP请求。让浏览器与服务器持续保持连接,不仅节省了为每个请求建立新TCP连接所需要的时间,而且还可以节约网络带宽

2、HTTP请求与响应信息

在使用HTTP协议通信时,每当浏览器向服务器发送请求,都会发送请求消息;而服务器收到请求后,会返回响应消息给浏览器。请求访问百度搜索主页IP地址及端口协议及版本请求消息响应消息
在这里插入图片描述

(1) 请求信息

当浏览器向Web服务器发出HTTP请求时,它向Web服务器传递了一个数据块(或称数据包),也就是HTTP请求信息。HTTP请求信息包含请求命令、请求头、请求正文3部分。
在这里插入图片描述
请求命令
请求命令包括请求方法、请求的URL以及协议版本号
根据HTTP标准,HTTP请求可以使用多种请求方法。例如,HTTP/1,1支持7种请求方法,即GET、POST、HEAD、OPTIONS、PUT、DELETE和TARCE,其中GET和POST是最为常见的。
请求头
浏览器发送请求命令之后,还要以头信息的形式向Web服务器发送一些别的信息,包含许多有关浏览器环境和请求正文的有用信息,如浏览器所用的语言、请求正文的长度等。如图中所示,其中“请求头(xxx 字节)”标题栏下面的信息即为请求头。
请求正文
请求正文是指用户提交的查询字符串信息。tn=monline_3_dg

(2) 响应信息

HTTP响应与HTTP请求相似,它包含以下3个部分,即响应命令、响应头和响应正文。
在这里插入图片描述
响应命令
响应命令包括协议名称、协议版本号、响应状态码和状态描述码。如图中所示,它的响应命令项为HTTP/1.1 200 0K,其中,200为响应状态码,OK为响应描述码。
响应状态码200 表示Web服务器已经成功地处理了浏览器发出的请求。HTTP响应状态码反映了Web服务器处理HTTP请求的状态信息。
HTTP的响应状态码由 3 位数字构成,其中首位数字定义了状态码的类型,如表所示。
在这里插入图片描述
响应头
服务器返回响应命令之后,还要以头信息的形式向Web 浏览器发送一些别的信息,包含许多有关服务器环境和响应正文的有用信息,如服务器类型、日期时间、内容类型与内容长度等。
响应正文
Web服务器向浏览器发送头信息后,接着就以Content-Type和Content-Length响应头信息所描述的格式向浏览器发送所请求的实际数据,即响应正文。简单地说,响应正文就是服务器返回的HTML 页面。

3、HTTP请求方法

在HTTP的7种请求方法中,最典型的就是GET和POST方法。它们也是Web应用中最常见的数据输入方式,即表单数据的提交方法。
在这里插入图片描述
使用GET方法有如下明显缺点:

  1. 用户输入的信息会追加到URL中,并由浏览器以纯文本的形式显示,数据不能有效保密
  2. 作为URL的一部分,传递的数据量是有限的不能用GET方法传递大量信息
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

会话控制

浏览网页需要 “HTTP协议实现” 但是HTTP协议是无状态协议,没有一个内建机制来维护两个事务之间的状态。这样的结果是
同一个网站下:用户a请求页面1——接着请求——>页面2,http协议无法告诉我们两个请求是来自同一个用户,而不能将这两次访问联系到一起。

解决办法:
cookie
session

web应用的体系结构

Web应用:
使用通用的浏览器或者专用的客户端进行Web访问的网络应用程序。
Web环境下的软件开发一般采用两种基本的体系结构:
1)浏览器/服务器(B/S)结构
在这里插入图片描述
主要业务逻辑均在后端的服务器端上实现,运行时服务器会承受到很大的压力。

2)客户端/服务器(C/S)结构
在这里插入图片描述
需要在用户的计算机上安装相应的客户端应用程序,而不是使用通用的浏览器进行操作。
使用专用的客户端来访问服务器上的资源、并与服务器进行交互。

cookie

Cookie:
将网站的资料记录在客户端的技术,这种技术让Web服务器能将一些资料,存放于客户端(用户的电脑)之中。

比如:
当通过验证,成功登录网站后,在”网页1“的PHP脚本中,会把这个用户有关的信息,设置到客户端电脑的Cookie中,当再次访问同一个网站中的其他脚本时,就会自动携带Cookie中的数据一起访问,在服务器中的每个脚本中都可以接受Cookie中的数据,不需要每访问一个页面就重新输入一次登录者的信息。
在这里插入图片描述
1.向客户端电脑中设置cookie
setcookie()
⒉.在服务器端上读取Cookie的内容
$_COOKIE

//cookie 这里设置的3600ms(1小时有效期)
在这里插入图片描述
先访问页面1(true 说明cookie设置成功) 再访问页面1 copy
在这里插入图片描述
3.将多维数组应用于Cookie中
1.php内 setcookie(“arr[name]” ,‘黑羽快斗");
3.php内 setcookie(“arr[tele]” ,‘110’);
访问1和3 访问1copy看结果

4.删除Cookie
新建destory.php

<?php
 foreach($_COOKIE['arr'] as $key=>$val){
 var_dump( setcookie( "arr[{$key}]", ' ',time()-3600));
 }//存了数组删数组  time()-3600减去生存期
var_dump( setcookie( "tele", ' ',time()-3600));//存了单数据直接删
?>

session

也是存数据。但是它是存在服务器上。
客户端的cookie中只需要保存Session ID。
在这里插入图片描述

1.开启session
(1)开启一个会话
session1.php

<?php
session_start();
$_SESSION['name']='孙胜利';
$_SESSION['email']='1205429372@qq.com';
$_SESSION['address']='tz.com';

在这里插入图片描述
(2)打开已经存在的会话
session2.php

<?php
header('Content-type: text/html; charset=utf-8');  
session_start();//打开已经存在的会话
var_dump($_SESSION);  
?>

在这里插入图片描述
数据
在这里插入图片描述

2.使用session存储数据

$_SESSION['name']='孙胜利';
$_SESSION['email']='1205429372@qq.com';
$_SESSION['address']='tz.com';

3.注销变量与销毁session
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
session3.php

<?php
session_start();//打开要销毁的会话
session_unset();//释放所有的会话变量
session_destroy();//销毁一个会话中的全部数据
setcookie(session_name(),'',time()-3600,'/');
?>

注意点:
使用setcookie删除cookie的时候,需要与当初设置cookie的时候参数一致!

PHP对MySQL的支持

php对mysql的支持

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值