1.1 回顾

1、 静态网站和动态网站

a) 不支持数据交互的网站.html  htm

i. 优点:速度快,最安全

ii. 缺点更改不方便

b) 支持数据交互的网站

i. 优点更改方便

ii. 缺点效率和安全性都没有静态网站高

iii. 实现动态网站的技术

1. Asp.asp

2. Php.php

3. .net.aspx

4. Java.jsp

2、 客户端和服务器端

a) 客户端浏览器使用的计算机

b) 服务器端存放网站代码的机器

3、 端口和端口号

a) 端口就是服务运行的入口就类似于大楼的门

b) 端口号门的门牌号   0-65535

4、 BSCS架构

a) Bs:通过浏览器访问服务器

b) CS通过客户端访问服务器

5、 前台和后台

a) 前台浏览器看到到界面

b) 后台管理员操作的界面

6、 站点、虚拟目录、虚拟主机

a) 站点存放网站内容的文件夹

b) 虚拟目录:有权限的文件夹

c) 虚拟主机:有权限的文件夹+域名+端口+其他一些配置

7、 Apache的安装

a) Apache的默认端口  80

b) 地址栏中输入http://localhost   显示it works表示正常

c) Apache的配置文件夹是 conf文件夹

d) Apache的配置文件  conf/httpd.conf

e) Htdocs默认虚拟目录

8、 PHP安装

a) Php的配置文件php.ini

b) 在虚拟目录中新建PHP测试文件。

9、 Mysql的安装

a) MySQL默认端口是3306

10、 程序的卸载

a) 控制面板——程序——选择程序——卸载

11、 LAMPWAMP

a) LAMPlinux+apache+Mysql+php

b) WAMPwindows+apache+mysql+php

12、 更改虚拟目录

a) DocumentRoot用来更改虚拟目录

b) 要注意更改文件夹的权限

13、 更改首页

a) DirectoryIndex

14、 更改监听端口

a) Linsten

15、 DNS解析

a) DNS:运行解析系统,浏览器输入域名,先到最近的DNS服务器上解析出域名对应的IP地址,然后通过IP地址去访问服务器。

b) 最近的DNS就在本地位置C:\Windows\System32\drivers\etc\host

16、 虚拟主机的配置

a) 开启虚拟主机Include conf/extra/httpd-vhosts.conf

b) httpd-vhosts.conf文件中去做相应的配置

1.3 PHP简介

PHP: Hypertext Preprocessor,中文名:超文本预处理器) 是一种通用开源脚本语言PHP运行在服务器端。

1.4 PHP四种定界符

1.4.1 标准风格(推荐使用)

<?php

//PHP代码

?>

1.4.2 短标记风格

默认是不支持短标记风格要在PHP的配置文件中php.ini)中开启支持短标记,重启服务器

 wKioL1gi5uGS1P6UAAAHeiNxWnc235.png

<?

//短标记风格

echo '锄禾日当午';

?>

1.4.3 asp风格

默认是不支持asp风格定界符,要在php.ini中开启。重启服务器

 wKioL1gi5yXSuCaPAAADwjonlgE203.png

 wKiom1gi5z3RIjfHAAAWG62Yt9s214.png

1.4.4 Script标记风格

<script language="php">

echo '锄禾日当午';

</script>

 

PHP支持省略结束标记PHP定界符开始的地方一直到最后全部都是PHP代码的情况可以省略PHP结束符。

wKioL1gi51iDmhIDAAAWBiL7xqg747.png 

1.5 PHP语法的特点:

1、 php语句以分号结尾。

2、 PHP的关键字不区分大小写变量名是区分大小写。

1.6 变量

变量是计算机内存中的一段空间

 wKiom1gi5_HTzxiDAAAD2NMJy1M757.png


1.6.1 变量的命令规则

必须以$开头$不是变量名的组成部分,仅仅表示PHP变量名从这里开始。

除了$以外,字母、下划线开头,后面跟的是字母、数字、下划线。

下列变量名合法的是

$a1合法

$1a不合法

$_1a合法

$a-1不合法

$a%不合法

1.6.2 变量的赋值

=来做赋值运算

变量可以传值也可以传地址

wKiom1gi6AaAUfu-AAARYJG8XLo001.png 

wKioL1gi6B2wYmHRAABhUltdX-I464.png 

 

 

&是获取值的地址

wKiom1gi6DHAGXZuAABertL7xOs113.png 

wKioL1gi6ESjY_NYAABzgzvGMEQ743.png 

1.6.3 销毁变量

通过unset()来销毁变量unset()销毁的是变量名。值是由PHP的垃圾回收机制销毁。

wKioL1gi6FnBhusNAAArL6xJtzY142.png 

 

wKiom1gi6GuAXNQXAAATFoeDIGg761.png 

1.6.4 可变变量

 wKioL1gi6H7iQ3mBAAAee1eUxNU357.png

$b保存的是变量名a,所以$$b就是$a,  最后输出$a的值。

1.7 常量

当一个值在脚本执行周期内不发生变化就可以将值声明成常量.

define()关键字

语法:

Define(常量名,,是否区别大小写)

常量名不能有$开头

 wKiom1gi6JTySiBKAAAT6DShL6s640.png

默认情况下常量名是区分大小写,可以通过define的第三个参数来设置是否区分大小写

True:不区分  FALSE :区分。

 

 wKioL1gi6KjDSLAjAAARSUYorqU525.png

常量不能重复定义

wKiom1gi6MPhDn6EAAAhAFSIJvQ035.png 

在定义常量的时候先判断一下当前常量是否被定义defined()函数判断

wKioL1gi6NXCq12TAAAjC_FH8MA135.png 

1.8 PHP执行原理

客户端向服务器发送一个请求如果请求的是一个HTML页面服务器直接将HTML页面发送到客户端给浏览器解析如果请求的是PHP页面则服务器会运行PHP页面然后生成标准的HTML生成的HTML代码发送到客户端。

wKiom1gi6O-BclLAAABuOwWpU3Y993.png 

1.9 变量的数据类型

1.9.1 标量类型

类型

描述

整数型

范围 -231~231-1

浮点数

存放整数和小数

布尔型

TrueFALSE

字符串型

双引号字符串和单引号字符串

wKioL1gi6QLR3lu8AAAU2DTjGEU253.png 

1.9.2 复合类型

类型

描述

数组

array

对象

object(以后再学)

 wKioL1gi6RPBsb5EAAAKCdUtTOM525.png

1.9.3 特殊类型

wKioL1gi6SiwRfKDAAAHpSQTF44662.png 

资源:PHP 的外部数据成为资源类型。

NULL:没有

1.10 字符串

单引号字符串是真正字符串,双引号字符串要将变量给替换。因为单引号字符串不需要运算,所以单引号字符串执行效率高。

wKioL1gi6UCDtIFMAAA3pfioxJA100.png 

思考

如下代码输出什么内容

wKioL1gi6VKAGKRSAAAxjVy-cGc573.png 

变量如果在字符串的前面或中间,要用{}括起来。

{$要紧挨着

wKiom1gi6WqywGw-AAAHcBqZc7o611.png 

{$可以调换位置

wKioL1gi6XyQaTOKAAAJsKoc6jw784.png 

1.11 数组

1.11.1 数组的概念

思考:

一个变量存一个值,现在我们班有100个学生,要100个变量来保存学生姓名,这样不便于记忆,如何解决?

解决方法数组

数组:计算机内存中的一段连续空间,通过下标来区分数组。

wKiom1gi6ivRBUJ4AAAG9acOVyw986.png

1.11.2 数组的分类:

索引数组:通过元素的位置做下标,默认从0开始,每次增长1,可以更改数组的起始下标。

wKioL1gi6aWS4BLdAAAagfH683Y796.png 

关联数组:通过字符串做下标

wKioL1gi6bXyA6g0AAAiEKxeSzg236.png 

 

数组的下标我们可以成为键下标和对应的值成为键值对”。

思考:1、请写出数组的下标

$stu=array(1=>'a','b','c','d');

wKioL1gi6eHxP2u_AAAIK7l_dSU129.png 

思考:2、请写出数组的下标

$stu=array('a',2=>'b','c',5=>'d');

wKioL1gi6evB0GHbAAAIxJZsSqA879.png 

思考:3、请写出数组的下标

$stu=array(1=>'a',1=>'b',1=>'c','d');

wKioL1gi6fXjtjVHAAAF9v001v8368.png 

1.12 输出语句

1.12.1 echo

只能输出数字、字符串

对于布尔型,TRUE输出成1FALSE输出空

可以一次输出多个参数echo没有返回值

1.12.2 print

echo语句很类型,

一次只能输出一个参数

输出成功会返回1,失败返回0

1.12.3 print_r();

用来输出数组输出的内热包括键和值,不包括数据类型

1.12.4 var_dump()

如果输出普通变量,输出的是变量的值和变量的类型。

如果输出的数组包括键值的数据类型

1.13 PHP注释

单行注释:

//单行注释

#单行注释

多行注释

/*

多行注释

*/

1.14 运算符

1.14.1 算数运算符

一元运算符

二元运算符

负号

+

++  递增1

-

--   递减1

*


/


%

注意:

1+号在js中可以做数字的相加,也可以做字符串相加(字符串相连),在PHP中,+只能做数字运算

思考:下列表达式结果是什么

<?php

echo '10'+'20';

?>

结果30

 

<?php

echo '10aa'+'20bb';

?>

结果30

 

<?php

echo 'aa'+'bb';

?>

结果0

2、取模就是取余数

5%2=1

10%2=0

2%5=2

4%10=4

3++前置和++后缀

++前置:先自增,后运算

++后置:先运算,后自增

思考如下代码输出什么

<?php

$a=5;

echo $a++;

?>

//输出5

 

<?php

$a=5;

echo ++$a;

?>

//输出6

 

<?php

$a=5;

echo (++$a)+(++$a)+(++$a);

//678

?>

//输出21

1.14.2 比较运算符

运算符

描述

>

大于

>=

大于等于

<

小于

<=

小于等于

==

等于

!=

不等于

===

全等

!==

不全等

比较运算符的结果就两个TRUEFALSE

==只比较值===比较值和数据类型

wKiom1gi6l_QfB02AAA_6dj8JFo364.png 

思考:如下代码输出什么?

<?php

$a='abc';

$b=0;

if($a==$b)

{

echo '相等';

}

else

{

echo '不相等';

}

?>

//相等

1.14.3 逻辑运算符

运算符

描述

&&

与:并且

||

或者

取反

逻辑运算符是用来连接比较运算符的

逻辑运算符运算的结果TRUEfalse

True && truetrue

True && falsefalse

False && truefalse;

False && falsefalse

 

True || truetrue

True || falsetrue

False || truetrue

False || falsefalse

 

!truefalse

!falsetrue

1.14.4 字符串连接符

PHP中,字符串连接符是点(.;

wKioL1gi6mujZAO1AAAVpuyO0Aw712.png 

1.14.5 赋值运算符

运算符

描述

=

赋值

+=

a+=b    a=a+b

-=

a-=b    a=a-b

*=

a*=b    a=a*b

/=

a/=b    a=a/b

%=

a%=b    a=a%b

.=

a.=b    a=a.b

1.14.6 三元运算符

表达式?1:2

如果表达式为真返回值1,否则返回值2

wKioL1gi6nihTwBEAAAW2utGiqw659.png 

1.15 判断语句

1.15.1 单分支

语法

if(条件)

{

//代码

}

流程图

wKioL1gi6q6DNr5bAAAvTxaJC3s097.png 

 

1.15.2 双分支

语法:

if条件

{

//代码1

}

else

{

//代码2

}

流程图:

wKioL1gi6rfjIYwYAAA6ZuQtkaA284.png 

1.16 例题:判断奇偶数

1.16.1 设计界面

wKioL1gi6sCgHw2bAAAIUTo2PtY643.png 

HTML代码中,formmethod属性用于设置提交的方法,(get|post),action设置提交的位置,action=’’表示提交到本页面

wKiom1gi6sui-pDjAAAZOOJkEUI530.png 

1.17 判定是否点击了提交按钮

isset()用来判定变量是否赋值并且不为NULL

wKioL1gi6tijr4fnAAAWKSeGe0s728.png 

1.17.1 判断奇偶数的业务逻辑

wKioL1gi63OwGpgCAAAt_XqMhJY029.png 

1.17.2 优化判定奇偶数代码

在上面的例题中如果收入字符串或小数会发现有bug

 wKiom1gi6w7C_aFlAAAHXUrTYG4207.png

wKiom1gi6yixv9nEAAAGQVPpPJc603.png 

需要用到的知识点

1is_numeric()用来判定是否是数字或数字字符串如果是数字或数字字符串返回TRUE否则返回false

2将数字字符串转成数字类型

wKiom1gi60CDBJVCAAALQ8JwGP4349.png 

3is_int()用来判定是否是整形

完整代码如下:

<?php

//isset()TRUE,表示点击了提交按钮

if(isset($_POST['button']))

{

$num=$_POST['num'];//获取输入的

//判断是否是数字

if(is_numeric($num))//是数字

{

//将字符串数组转成数字

$num+=0;

//is_int()用来判定是否是整型

if(is_int($num))

{

if($num%2==0)

{

echo "{$num}是偶数";

}

else

{

echo "{$num}是奇数";

}

}

else

{

echo $num.'不是整数';

}

}

else

{

echo "{$num}不是数字";

}

}

?>

<form name="form1" method="post" action="">

  <table width="500" border="1">

    <tr>

      <th colspan="2">请输入数字</th>

    </tr>

    <tr>

      <td>请输入一个数:</td>

      <td><input type="text" name="num" id="num"></td>

    </tr>

    <tr>

      <td colspan="2"><input type="submit" name="button" id="button" value="提交"></td>

    </tr>

  </table>

</form>

1.18 作业:

参照判定奇偶数写出判定闰年的业务逻辑。