E星体育将以上代码写入test.php中,然后保存到系统WWW目录下并运行。(注意:要在浏览器中输入localhost/test.php运行浏览,不可以双击文件,直接双击文件是编辑操作,不能起到运行的作用) 运行结果:c的结果是7 上面的程序是一个最简单的3+4=7的程序设计,是用PHP实现的。结合上面程序我们介绍一下PHP程序设计的语法规则: 1 程序的开始和结束要分别以“
= 程序结构一共有三种:顺序结构、条件判断结构、循环结构。顺序结构就是从上到下逐条语句执行直至完毕。这里着重学习条件判断结构和循环结构。 2.4.1 条件判断 条件判断语句的关键字为If和Switch. 嵌套例题if($a
=85) {echo “优秀”;} else {echo “过了”;} } If-else 语句 If(表达式) {语句1} else {语句2} 例题 if($a
=60) { echo “考试通过”;} else { echo “挂了”;} If 语句 If(表达式) { 语句} 例题 if($a
=60) { echo “考试通过”;} 1 if 与后面的括号之间不要有空格 2 表达式之后没有分号,括号外面也没有分号 3 “语句”要被花括号括上,可以是一条语句,可以是多条语句,每条语句应该用分号结束。 4 if语句以及if-else语句可以嵌套,如上图所示,花括号匹配要正确且有规律。 例题switch($a) 例题 switch($a) { case 石家庄: echo 在河北省; break; case 长春: echo 在吉林省; break; default: echo 我不知道了; break; } switch 语句 switch(表达式) { case 常量1: 语句1; break; case 常量2: 语句2; break; default: 语句n; break; } 在switch语句中,表达式值的类型和case语句中常量的的类型必须一致。当表达式的值与case的值完全相等时,就执行case后面的语句,直到遇到break为止。在所有匹配都失败的情况下,执行default语句。 注意 1 如果case语句中没有break关键字,那么PHP将执行下一条语句,直道找到break为止。 2 switch语句的语法格式。Switch语句没有符号,case语句后用冒号,语句后面用分号。 2.4.2 循环结构 循环语句的关键字为for和while for语句for(表达式1; 表达式2; 表达式3) for语句 for(表达式1; 表达式2; 表达式3) { 循环体} 例题:输出1-5之间的整数 for($a=1;$a
=10;$a++) { if($a==5) { continue;} echo $a; } break 语句 例题 for($a=1;$a
=10;$a++) { if($a==5) { break;} echo $a; } 2.5 数组 几乎所有的程序语言都提供了数组。通过数组,程序员可以很方便地将一系列相关的数据组织在一起。php可以通过以下两种方式创建数组: 1 直接赋值 直接对要创建的数组中的变量进行赋值。$a为一个数组,数组里的两个元素分别被赋值“abc”和“cba” 2 使用array()结构 将值放在array()结构中对数组进行赋值。数组的下标从0开始。 array()结构$a=array( array()结构 $a=array(‘abc’,’cba’); 等同于如下语句 $a[0]=abc; $a[1]=cba; 直接赋值 $a[1]=abc; $a[2]=cba; for($i=1;$i
结束。 参数: (1) name:指表单的名字,用来和其他表单区分。我们学习过程中一般指使用一个表单,这里可以忽略。(最好不要乱改动) (2) method:为表单的交互方式。E星体育默认post,不要乱改动。 (3) action:表示将本表单承载的数据发送到哪里被处理。在本学期的学习过程中,这里一般情况输入一个php文件名。 2 插入表单元素。把光标定位在表单红色虚线框内,如图所示插入文本域和按钮。 文本域和按钮 文本域和按钮
上面两行代码分别是文本域和按钮的html 代码,都是自动生成的。 文本域:input 表示表单元素;type 表示类型,除了text还有password等;name表示承载表单值的变量。一般情况name值我们自己设定,相当于自定义变量。 按钮:一个表单必须拥有按钮,它是触发表单提交数据的工具。value表示按钮上面显示的内容。 同样的道理,表单元素中除了文本域和按钮还有其它的,这些元素样式不同但是道理类似,大家自己尝试如何使用。 我们把刚才的参数值做好设定,然后文件命名为a.html并保存在WWW路径下。 同时我们建立一个a.php文件,并输入代码,然后运行。 思考,如果要实现下面的效果,应该怎样设计表单以及php代码呢? 2.7 函数 函数是可以完成某种具体任务的独立代码块。在PHP中,函数分为自定义函数和系统函数。在本学期的学习中我们着重学习系统函数。系统函数是PHP设计人员已经给我们开发好的,可以完成某种具体任务的独立代码块,我们只要拿来使用就可以了,E星体育很方便,易上手,适合初学者学习使用。函数也体现PHP功能强大。在PHP系统中,有很多很多函数。 这里要求大家把常用的函数熟练掌握。这有点类似于我们使用字典。字典里有很多字,很少有人能默写,甚至能认全的人都少之又少,但是这并不妨碍我们读书看报,因为我们把常用的字都掌握了。当我们遇到生字的时候查字典就OK了。函数也是一样,这里只给大家介绍常用的,等以后我们入门了,掌握规律了,需要什么函数自己再去查找使用也不迟。 根据需要把函数进行分类大概有如下几类:数学函数、字符串函数、日期时间函数、文件操作函数、数据库操作函数和其它函数。 2.7.1 数学函数 abs 函数描述:mixed abs(mixed number); 返回值:函数abs返回参数number的绝对值。 $a=-5; $a=-5; $b=3; echo abs($a); echo abs($b); 结果为:53 ceil 函数描述:int ceil(double number); 返回值:函数ceil返回大于参数number 的最小整数;若number为整数,则返回其本身。 $a=-5.3; $a=-5.3; $b=5.3; echo ceil($a); echo ceil($b); 结果是:-56 sqrt 函数描述:double sqrt(double number); 说明:在函数sqrt中,参数number不能小于0。 返回值:函数sqrt返回参数number的平方根。 $a=9;echo sqrt($a); $a=9; echo sqrt($a); 结果:3 pow 函数描述:double pow(double base,double power); 返回值:函数pow返回参数base的power次幂。 $a=2; $a=2; echo pow($a,3); 结果:8 rand 函数描述:int rand(int lowest,int longest); 说明:函数rand使用前要用srand激活。 返回值:函数rand返回可选参数lowest和longest之间的一个数(包含两个参数);若无参数,则返回值的范围从零到getrandmax返回的整数。 $b=rand(3, $b=rand(3,15); echo $b; srand 函数描述:srand(int seed); 说明:函数srand激活随机数发生器。参数seed是随机产生的种子,即所得的随机数是由参数经过一系列计算所的。 返回值:无。 function make_seed() { function make_seed() { list($usec, $sec) = explode( , microtime()); return (float) $sec + ((float) $usec * 100000); } srand(make_seed()); $randval = rand(); 三角函数一大堆。这里不做介绍。 2.7.2 日期时间函数 date 函数描述:string date(string format, int [timestamp]); 说明:函数date根据参数format生成一个描述日期timestamp的字符串。参数timestamp可选;若为空白,则使用当前日期。Format代码如下表: 返回值:函数date返回生成的日期描述字符串。 函数date的format代码表 代 码 描 述 a am/pm A AM/PM d 有前导零的月份中的日期 D 三字母简写形式的星期几 F 月份名 h 用1~12表示的小时 H 用0~23表示的小时 I 分钟 j 没有前导零的月份中的日期 l 星期几 m 用1~12表示的月份 M 简写月份名 S 月份中日期的正序后缀 U 从纪元开始的秒数 y 两位的年份 Y 四位的年份 Z 一年之中的日期 $a=date(今天是Y年m月d日 星期l); $a=date(今天是Y年m月d日 星期l); echo $a; 结果是:今天是2010年01月23日 星期Saturday 2.7.3 字符串函数 chop 函数描述:string chop(string string); 返回值:函数chop去除参数string中最后一个非空字符后的所有空格,并返回生成的新字符串。 explode 函数描述:array explode(string separator,string string); 返回值:函数explode返回一个字符串数组,数组元素是由参数separator分隔的参数string的各段内容。 $pizza = piece1 piece2 piece3 piece4 piece5 piece6; $pizza = piece1 piece2 piece3 piece4 piece5 piece6; $pieces = explode( , $pizza); echo $pieces[0]; // piece1 echo $pieces[1]; // piece2 implode 函数描述:string implode(array pieces ,string glue); 返回值:将数组pieces依次用参数glue联结并返回生成的字符串 $array = array(lastname, email, phone); $array = array(lastname, email, phone); $comma_separated = implode(,, $array); echo $comma_separated; // lastname,email,phone ltrim 函数描述:string ltrim(string string); 返回值:去除参数string中第一个非空字符前的所有空格,并返回生成的新字符串。 strcmp 函数描述:int strcmp(string str1,string str2); 说明:函数strcmp比较参数Str1与str2的大小,比较过程区分大小写。 返回值:如果str1大于str2,则函数strcmp返回1;如果str1小于str2,则返回-1;如果两者相等,则返回0。 $a=abc; $a=abc; $b=def; $c=ghi; $x=def; echo strcmp($x,$a); echo strcmp($x,$b); echo strcmp($x,$c); strlen 函数描述:int strlen(string string); 返回值:返回参数字符串string的长度。 $a=abc def; $a=abc def; echo strlen($a); 结果:7 strrev 函数描述:string strrev(string string); 返回值:函数strrev将参数string倒置并返回。 $a=abc def; $a=abc def; echo strrev($a); 结果:fed cba strtok 函数描述:string strtok(string str1,string str2); 返回值:返回参数str1中在参数str2首字母前的字符串。 $b=c def; $b=c def; $a=abc def; echo strtok($a,$b); substr 函数描述:string substr(string string,int start,int [length]); 说明:函数substr从参数string中的第start个字符开始,提取出一个长度为length的字符串。如果参数start是正数,则返回字符串将从参数string首部起第start个字符开始;若为负数,则返回字符串将从参数string尾部逆推的第start个字符开始。如果参数给出并为正,,则返回的是一个从start开始的长度为length的字符串;如果参数length给出且为负,则返回的字符串以正数第start位字符为首,以从参数string尾部开始逆推(-length)个字符为结束的字符串;若返回的字符串长度为负,则返回值为NULL。 返回值:返回所提取出的字符串。 $a=abc def; $a=abc def; echo substr($a,0,2); 结果:ab trim 函数描述:string trim(string string); 说明:函数trim的作用等同于函数chop和ltrim共同对参数随同日内阁进行操作。 返回值:函数trim去除参数string首尾空格并返回新生成的字符串。 2.7.4 路径文件操作函数 basename 函数描述:string basename(string path); 返回值:返回不带路径的文件名 $path = /home/httpd/html/index.php; $path = /home/httpd/html/index.php; $file = basename ($path); echo $file; 结果:index.php copy 函数描述:int copy(string oldfilename ,string newfilename); 说明:copy把由原参数oldfilename说明的文件复制到由目的参数newfilename说明的文件中。 copy(c:\abc.doc,d:\bcd.txt); copy(c:\abc.doc,d:\bcd.txt); //把c:\abc.doc文件拷贝成新文件d:\bcd.txt dir 函数描述:dirname(string directory); 返回值:给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名 $path = /home/httpd/html/index.php; $path = /home/httpd/html/index.php; $file = dirname($path); echo $file; opendir 函数描述:opendir(string directory); 返回值:返回一个目录句柄。 readdir 函数描述:readdir(resource dir_handle); 返回值:从目录句柄中读取条目。 closedir ( resource dir_handle) 函数描述:closedir(resource dir_handle); 返回值:关闭目录句柄。 $handle = opendir(f:\downloads); $handle = opendir(f:\downloads); while ($file = readdir($handle)) { if ($file != . && $file != ..) { echo $file\n; } } closedir($handle); 显示某文件夹下所有文件。 2.7.5 SESSION函数 有时候一个或者多个量需要在多个页面之间传递,需要用到session函数。session函数很类似公园中的通票,持有此通票可以在各个景区游览。 session_start():开始一个SESSION函数。 // page1.php // page1.php session_start(); echo 欢迎来到第一页; $_SESSION[favcolor] = green; $_SESSION[animal] = cat; $_SESSION[time] = time(); echo
第二页; // 通过超链接连接到第二页 // page2.php session_start(); echo 欢迎来到第二页; echo $_SESSION[favcolor]; // green echo $_SESSION[animal]; // cat echo date(Y m d H:i:s, $_SESSION[time]); 以上通过一些简单的实例给大家介绍了这些函数以及应用方法。数据库操作函数我们在下一部分通过具体实例给大家介绍。 第3章 数据库基础 3.1 数据库基础 数据库是用来存储和管理信息的。在数据库产生以前用文件来存储信息,后来产生了数据库,存储和管理信息的效率大大提高了。数据库的历史很久远,要追溯到上个世纪60年代。数据库的发展经历了很多,我们现在主要学习关系数据库这个阶段。在这个领域中涉及到很多很多术语,这里我们不一一介绍,只选择常用的给大家介绍。 这里不讨论什么是关系数据库,只给大家介绍关系数据库什么样,怎么操作它。关系数据库的“关系”指具有行和列二维数据的数据表,很类似EXCEL工作表,包括行和列。一个数据库包含多个表,类似书与页的关系。一本书的不同页之间有时也有联系,所以在同一个库中不同的表有时也有联系,尤其在复杂的系统当中。我们这是入门教程,所以现在学习的内容是最最简单的在一个库的一个表中操作数据信息。下面结合下表介绍几个常用的术语。 student 学号 姓名 性别 年龄 生日 所在系 00001 王平 男 18 1990-3-4 计算机系 00002 王平 女 19 1989-11-12 经管系 00003 张晓刚 男 19 1989-5-1 贸经系 00004 王第西 男 19 1989-1-15 计算机系 表:一个拥有行列二维关系的数据记录的集合 记录:表中的一行称为一个记录。如(00001 王平 男 18 计算机系)。此表共4个元组。 字段:表中的一列称为一个字段(有时又叫属性)。本表共有6个字段,分别是学号,姓名,性别,年龄,生日,所在系。 码:能唯一确定一个元组的字段。不能有重复。此表中学号可以是码,姓名不可以,因为有重名. 数据库是死的数据的集合,那怎么对这些数据进行操作呢?需要相应的管理软件,称之为数据库管理系统。现在这样的软件很多,E星体育比如SQL-SERVER、ORACAL等功能很强的工具,深受使用者的欢迎。这里我们使用mysql数据库管理系统,对于我们初学者来说它的功能依旧十分强大,而且操作简单,上手快。 单击屏幕右下角,然后选择phpmyadmin,即可进入数据库管理系统。 对数据库的操作是由相关语言来完成的,叫SQL(结构化查询)语言,是一个通用的、功能极强的关系数据库语言,主要有数据定义功能、数据操纵功能和数据控制功能等。这里着重介绍数据操纵功能。数据操纵功能中最常用的就是从表中查询需要的数据、往表中添加数据、在表中修改的数据、从表中删除数据(查增改删)。这些操作在数据库领域中是最最基础的,但是对于我们初学者来说,掌握这几个就可以了。 查:从数据表中查询需要的数据。 select select
from 表 [where 条件][group by 分列组][having
] 语句中被方括号括住的部分是可有可无的语句,根据需要书写,而没有方括号的部分是必须书写的部分。 说明 Select 是查询语句的关键字。目标字段如果是表中所有字段,可以用通配符*表示;如果是只是表中部分字段,则这几个字段中间应用逗号(英文输入法)分隔。注意,这里的字段一定要和数据库表中的字段一模一样。 from 是查询的关键字,后面的“表”表明查询的数据源,也就是数据库中表的名字。 where 指查询的条件。 group by 对查询结果进行分组显示。 having 结合相应的函数对查询结果做统计。 order by 对查询结果排序。 例题 1 查询student表中所有学生的姓名和年龄 select 姓名,年龄 from student 2 查询所有年龄在18岁以上的学生的信息。查询所有男生信息。查询所有计算机系信息。 select * from student where 年龄
18 3 查询所有男生信息并且按照年龄升序排列,年龄相同的按照学号降序排列 select * from student where 性别=’男’ order by 年龄 asc, 学号 desc 4 查询学籍表中的学生来自哪几个系 select distinct(所在系) from student 5 查询所有姓“王”的同学的信息 select * from student where 姓名 like ‘王%’ 增:往从数据表中插入数据。 insert into insert into
[字段1,字段2……字段n]values(常量1,常量2……常量n) 说明 insert into 是插入一条记录的关键字 表:是表名。如果给表中所有字段插入数据,[字段1,字段2……字段n]可以省略 values 是关键字。注意:别把s丢掉。 例题 1 插入如下信息(00005 王礼物 男 18 1990-3-5 计算机系) insert into student values(‘00005’,’王礼物’,’男’,18, ‘1990-3-5’,’计算机系’) 改:在数据表中修改数据。 update update
=表达式] [where 条件] 说明 update: 修改表中数据的关键字 表:是表名。 set:关键字。 例题 1 把表中所有学生的年龄加1 update student set 年龄=年龄+1 删:在数据表中删除数据。 delete from delete from
[where 条件] 说明 delete from: 删除表中数据的关键字 表:是表名。 where 根据条件删除。如果此项省略,表示删除表中全部元组。 3.2 数据类型 在数据库管理系统中,创建数据表的时候要制定创建的每个字段的数据类型。在MYSQL中可以被分为三大类:数字类型、日期时间类型和字符串类型。 1 数字类型:分为整数和浮点型(小数)两类。 类型 取值范围 存储空间 tinyint 0-255 1 smallint -32768-32767 2 int -2^31-2^31-1 4 float(精度) 取决于精度 可变 2 日期时间类型: 类型 取值范围 date 1000-01-01至9999-12-31 time 0:00:00 至 23:59:59 datetime 1000-01-01 00:00:00 至9999-12-31 23:59:59 3 字符串类型:分为小文本(0-255字符)和大文本类型(255以上) 类型 最大长度 char(m) 0-255字符 varchar 0-255字符 text 65535个字符 blob 65536个字符 longblob 2^32-1 longtext 2^32-1 3.3 MYSQL操作 接下来我们通过创建一个数据库,一个数据表来熟悉MYSQL管理系统。我们设计student表。 第一步:建立数据库。 自行命名。这里我们取名为school.首先单击屏幕右下角wampserver,选择phpmyadmin,弹出窗口 此处选择这个添加数据库的名字系统中已经存在的库。 此处选择这个 添加数据库的名字 系统中已经存在的库。 第二步:建立表 字段数目给表取名已进入数据库,在此编辑 字段数目 给表取名 已进入数据库,在此编辑 点击“执行” 根据需要选择长度根据需要选择数据类型字段的名字。尽量不用汉字形式 根据需要选择长度 根据需要选择数据类型 字段的名字。尽量不用汉字形式 点击“保存”。至此,数据表student已经建立完毕。 第三步:把具体数据信息写入表 在此表点击“插入”进入插入页面。 此处添加数据 此处添加数据 添加完数据后单击“执行”按钮。依次把所有学生信息添加入数据库。点击“浏览”得到下图 如果要删除某条记录,点击“叉 如果要删除某条记录,点击“叉” 如果要修改某条记录,点击这个“笔” 至此对数据库操作的介绍结束。 第4章 php+mysql数据库编程 上一章我们介绍了如何操作MYSQL数据库。我们是开发动态网站的,目的是让数据库和使用者之间交互,但是我们又不能让用户直接来操作我们的数据库服务器,那怎么办呢?用php代码来帮助操作mysql数据库。接下来我们通过四个最最简单的实例给大家讲解如何用php代码实现对数据库的查,增,改,删的功能。 用php代码操作数据库基本通过以下几步:1连接主机 2 选择数据库 3 执行操作。这些步骤都是通过函数实现的。 实例1 我要查看school库中student表中的信息,请你设计程序以让我在网页中看到(包括实时更新)。
?php $link=mysql_connect(localhost,root,); mysql_select_db(school,$link); mysql_query(set names gbk); $info=mysql_query(select * from student); while($result=mysql_fetch_array($info)) { echo $result[xuehao]; echo $result[xingming]; echo $result[xingbie]; echo $result[nianling]; echo $result[shengri]; echo $result[suozaixi].
; } ?
解析: 第1行与第15行为php代码标识。 第2行为连接主机函数。其中有三个参数,分别是主机名,用户名,密码。这里我们全用默认的。 第3行为选择数据库函数。其中两个参数,一个是数据库的名字,一个是上一步连接主机的动作。 第4行是设置字体,记住即可。 第5行是查询操作函数。参数是sql语句。查询结果是一个二维数据,返回给一个变量。 第6行把刚才得到的二维数据进行操作,把每个值以数组元素的形式放入一个二维数组中。通过while循环,只要这个数组元素不是最后一个,就执行循环体,直到最后一个元素。 第7行与第14行是一对花括号,里面的是循环体语句。 第8行到第13行是打印输出数组元素。 运行以上代码,看看是不是理想的信息?看看是不是理想的界面?如果把这些信息放入表格里,那应该怎么做? 实例2 把如下信息添加到数据表中(00005 张倩 女 18 1990-3-1 计算机系)
比较一下实例3 的代码与实例1和实例2有哪些相同点和不同点? 实例4 把student表中张茜的信息删除
如何删除任何一名同学的信息?如何删除所有的学生信息?附录资料:不需要的可以自行删除 CentOS操作系统安装及LAMP搭建教程 CentOS操作系统是商业版Red Hat Enterprise Linux(RHEL)的免费版,是架构 LAMP的理想操作系统,稳定性非常好,E星体育和 Ubuntu不同的是,CentOS主要用于服务器而不是桌面环境,不少大型的商业网站都使用CentOS操作系统,我在《 LAMP网站架构方案分析》中曾经讲述了一系列架构方案,这里以CentOS为例具体讲一下LAMP环境的安装和搭建。 首先要下载CentOS操作系统的ISO,下载地址 点这里,目前最新版为5.3,下载文件有两种形式,一种是光盘CD版,要六张盘,要下载的文件为CentOS-5.3-i386-bin-1of6.iso、CentOS-5.3-i386-bin-2of6.iso、CentOS-5.3-i386-bin-3of6.iso、CentOS-5.3-i386-bin-4of6.iso、CentOS-5.3-i386-bin-5of6.iso、CentOS-5.3-i386-bin-6of6.iso,一种是DVD版,要一张盘,下载文件为CentOS-5.3-i386-bin-DVD.iso,3.7G容量。 下载完成后,使用Nero等光盘刻录软件将ISO镜像文件转换、刻录成安装CD或DVD光盘。 然后将服务器硬盘格式化,插入CD或DVD的第一张盘启动,即可进入CentOS的安装程序。 光盘启动,出现“boot:”提示符,直接按回车进入图形安装界面。出现是否对CD媒体进行测试的提问,这里选择“Skip”跳过测试。 语言选择界面中,如需要使用中文系统,则选择简体中文进行安装。 键盘选择为“美国英语式”。 之后的分区设置中,如果硬盘没有其他系统,可以选择删除所有分区,如果还有Windows系统的话,可以选择删除Linux分区。 接下来是网络配置,可以根据自己的实际情况来配置网络地址。 时区设定,根据自己所在的时区选择相应的城市。 接下来为root密码设置,因为root是系统管理员用户,因此要设置一个强密码,以防破解。 在安装应用软件界面,因为我们要安装LAMP环境,因此要点“现在定制”。 在“服务器”中,勾选“万维网服务器”。 点“可选的软件包”,选择需要安装的模块,默认会安装Apache、MySQL和PHP等模块。 之后,系统会提示你需要那几张安装光盘,准备好这些盘。 接下来是安装过程,中途系统会提示换盘。 安装完成后,会进入一个配置界面。 在防火墙设置中,因为我们要架设网站,所以需要将HTTP端口打开。 然后可以创建一个非管理使用的个人帐号。 重启之后,就完成了安装,进入了CentOS的登录界面,输入登录用户root和root的密码进行登录。 输入用户名和密码之后,就进入了CentOS的主界面。 在“系统”-“管理”-“服务”中,将httpd和mysqld勾选中,使其可以自动启动服务。 接下来,进入终端界面,编辑f文件,E星体育可以对Apache服务器进行详细设置,测试PHP文件,可以新建一个文件到/var/www/html/info.php,内容为如下:
使用Firefox打开/info.php,如果显示如图界面,说明PHP已经配置成功。 至此,一个完整的 LAMP(Linux+Apache+MySQL+PHP)的环境就安装好了。
GB T 32610-2016_日常防护型口罩技术规范_高清版_可检索.pdf