《php动态网站开发教案 .doc》由会员分享,可在线阅读,更多相关《php动态网站开发教案 .doc(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、PHP动态网站开发教案20162017学年第2学期二一七年二月 ASP动态网站开发课程教案授课班级15级淘宝班课次1授课方式理论课讨论课实验课习题课其他课时安排3授课题目(教学章、节或主题):PHP环境配置、数据类型常用PHP运算类型、PHP条件、循环语句的介绍与应用教学目的、要求(分掌握、熟悉、了解三个层次):了解PHP环境的配置,wamp环境的设置。掌握PHP的数据类型及其数据的运算规则。掌握PHP的条件语句、循环语句的用法及语法规则。教学重点及难点: 动态网站的环境配置与PHP的条件语句、循环语句的用法及语法规则。教学基本内容及方法手段PHP环境搭配和代码调试1、PHP的优势和背景PHP
2、是能让你生成动态网页的工具之一。PHP代表:超文本预处理器(PHP: Hypertext Preprocessor)。PHP是完全免费的,不用花钱,你可以从PHP官方站点( )自由下载。你不必把头埋进100多页的文档中努力学习才可以写出一个象样的程序。只要了解一些基本的语法和语言特色,你就可以开始你的PHP编码之旅了。如果更好的学习建议可以先看看些 HTML 和 SQL 的基础。2、PHP环境的搭配所需的工具: WampServer 5 集成环境 Wamp5是Apache+PHP+Mysql 在Windows下的集成环境,拥有简单的图形和菜单安装。该版本集成了PHP5.2.5 、Mysql5、
3、 Apache2 、phpMyAdmin 2.11.2.1 、SQLiteManager 1.2.0 满了大部分PHPer的需求 介绍一下wamp的虚拟目录、服务图标的显示、环境测试3、PHP常用工具和数据库常用工具PHP开发工具:Zend Stodio ,PHPedit , EditPlus 2 ,easyeclipse ,DW 等MYSQL工具:MYSQL Administrator4、书写和调试简单的PHP代码从语法上看,PHP语言近似于C语言。可以说,PHP是借鉴C语言的语法特征,由C语言改进而来的。我们可以混合编写PHP代码和HTML代码,不仅可以将PHP脚本嵌入到 HTML 文件中
4、,我们甚至还可以把 HTML 标签也嵌入在 PHP 脚本里。以下是你可以采用的几种方法。你可以选用其中一种你最适合的并且就这样坚持这种方法!从HTML中分离以下是可以使用的方法: 短标签模式 标准模式 . . . 类似于javascript模式 修改模式,也可以支持在PHP中用“;”来分隔语句。那些从HTML中分离出来的标志也表示语句的结束。注释PHP支持C,C 和Unix风格的注释方式:/* C,C 风格多行注释 */ / C 风格单行注释 # Unix风格单行注释例子: 5、如何处理简单的PHP错误1、你要把 里的 display_errors = On 才可以显示错误位置2、习惯使用ec
5、ho或者print 打印,每一步输出看看结果是否正确。3、学会使用注释来屏蔽符号来调试 / . /* */ #.4、要懂得看错误信息错误的显示信息的行数及什么错位置。PHP的数据类型 源码调试1、PHP基本语法和数据类型(1)、PHP基本语法:1、htm和php混编 我好2、一个语句以; (分号结束,英文半角)3、如何定义一个变量,和变量的使用$abc=9;/以$开始,以A-Z或a-zEcho $abc;(2)、PHP数据运算类型四种标量类型: boolean(布尔型) 理解为真假型$bo=TRUE; $bo=FALSE;/赋值为0时为假,大于0为真integer(整型) $bo=1; $bo
6、=-12;float(浮点型,也作“double”) 理解为小数型$bo=1.001; $bo=3.;string(字符串) $bo=“这段字符串 or EN Word”; /双引号支持转义字符,单引号不支持。两种复合类型: array(数组) $bo=array(1,2,3,4); $bo=array(“A”=1 , “B”=2); object(对象) 源码调试1、解压源码到网站目录2、按照数据库3、调试成功 2、学习一个PHP源码调试 (discuz论坛)常用PHP运算类型介绍与应用1、算术运算 /理解为数学运算例:5 * 6 - 12 2*(28+1) 注:算术运算遵循数学运算规则:从
7、左到右,先算乘除后算加减,遇到括号先算括号内.2、赋值运算 /把一个值写入一个变量例:$a=1; $a+=2;$a*=3; 注:把右边的值赋予左的变量。3、比较运算 /用来确定两个数之间的关系例:1=23!=253ok=ok1=1 /值相等且类型相同,用echo输出时真为1,假不输出。注:比较运算得到的值为布尔值4、逻辑运算/先将比较的两边转换成布尔类型,再执行他们的关系例:1 & 10 or 11xor1!$a 注:逻辑运算得到的值为布尔值5、递增递减运算 /只操作变量的一种运算例:$a+ /$a=$a+1+$a$a- /$a=$a-1-$aPHP条件语句的介绍与应用1、 if 条件语句 程
8、序中最常见的,大部分语言中都存在的一种条件语句,在开发中起着至关重要的作用,格式如下:if elseif elseif elseifif(expr) echo TRUEelse echo FALSEif(expr) echo TRUEelse echo FALSEif(expr) echo TRUEelseif(expr) echo CONelse echo FALSE2、switch 条件语句在多个条件当中使用Switch 更加精巧,格式如下:switch ($i) case 0: echo 输出 0; break; case 1: echo 输出 1; break; case 2: ech
9、o 输出 2; break;default:echo “其他默认输出”;if ($i = 0) echo 输出 0; elseif ($i = 1) echo 输出 1; elseif ($i = 2) echo 输出 2;PHP循环语句的介绍与应用1、break n 循环控制语句 /也可以理解为循环中断语句,跳出循环语句break: 跳出一层循环break n ;跳出N条for($a=1;$a10;$a+) if($a=5) break;echo循环.$a.;2、dowhile 循环语句dowhile(expr)while(expr)先执行一次循环再判断条件先判断条件执再行一次循环for 循
10、环语句/for 循环是PHP中最复杂的循环结构。for (expr1; expr2; expr3) for ($i = 1; $i = 10; $i+) echo $ i;/ /$i = 1: 无条件执行 / $i value , key=value )例子: $arr = array (3,5,7,9,6); $arr = array (id=2,title=3);用方括号的语法来修改数组: $arr = value$arr = array(a = 理论, b=教程, c = 第二次课);$arra = PHP学习;$arrc = 第二讲;介绍一下print_r()函数$arr=array(
11、array(2,4),array(3,5);print_r($arr);Array ( 0 = Array ( 0 = 2 1 = 4 ) 1 = Array ( 0 = 3 1 = 5 ) )2、数组与数组的函数使用count 函数统计数组条数 count ( $arr );使用 is_array函数判断数组 is_array ( $arr );另一种创建数组的函数explode explode ( key , value);/分解函数$a=1986-1983-2010;$arr=explode(-,$a);Print_r($arr);3、使用foreach 遍历数组遍历数组很多种方法,可以
12、使用 For循环,while循环,最巧妙的一种遍历数组foreach给我们带来了跟多方便foreach ( $arr as $key = $value ) $arr=array(1986,1983,2010);foreach($arr as $key =$value)echo 需要的关键字 $key 需要的值 $value ;PHP函数和自定义函数1、PHP函数介绍函数就是为了解决一些常见问题实现制作好的 “模”。PHP函数分为:系统内部函数和自定义函数。格式: func(val1,val2,);例子date(Y-m-d) md5(zzhtpz)函数的优越性:l 控制程序设计的复杂性l 提高软
13、件的可靠性l 提高软件的开发效率l 提高软件的可维护性l 提高程序的重用性查看PHP中文手册,查看有关的函数2、PHP如何自定义函数使用 Function 来自定义一个函数:格式:Function func_name($val)函数的命名跟自定义变量一样,只能使用 _, AZ, az,一个自定义函数中的变量是局部的,函数外不生效,使用global全局变量的时候,在函数外才可使用变量(不建议)。为了放置全局变量的混乱可以使用 unset($var)删除一个变量。function ee()echo输出自定义函数;ee();function ee($val)echo输出自定义函数.$val;ee(3
14、3);3、使用自定义函数实例操作(1)使用return 函数返回函数内部值function ee() return 输出自定义函数;$a=ee();echo $a;(2)自定义函数值的接收和选择性接收function ee($val) return 输出自定义函数.$val;$a=ee(好?);echo $a;function ee($val,$val2=1)$a=$val+$val2; return $a;$a=ee(5);echo $a;function ee($val,$val2=1)$a=$val+$val2; return $a;$a=ee(5,6);echo $a;直接接收选择性接
15、收(3)function_exists() 判断函数是否存在/防止错误if(function_exists(ee)echo 真;elseecho 假;(4)引用返回值使用&符号Mysql 简介和创建新的数据库1、MYSQL简介与概要MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司,现在已经被Sun公司收购,支持FreeBSD、Linux、MAC、Windows等多种操作系统,与其他的大型数据库例如Oracle、DB2、SQL Server等相比功能稍弱一些。1、可以处理拥有上千万条记录的大型数据2、支持常见的SQL语句规范3、可移植行高,安装简单小巧4、良好的运行效率
16、,有丰富信息的网络支持5、调试、管理,优化简单(相对其他大型数据库)2、访问MYSQL的几种途径知识点:MYSQL默认使用的是3306端口1、使用工具MYSQL官方的工具访问:MySQL Administrator tool 安装:步骤 下载Backup project/备份Restore /导入MySQL query/浏览表和数据库2、使用第三方工具访问:mysqlexec 、 mysql连接器 3、使用WEB方式访问:phpMyAdmin /最常见比较: 使用客户端工具操作效率高,安全性高,使用WEB方式简单方便,不受限制。3、介绍数据库中常用字段类型l 整数型:TINYINT,SMALL
17、INT,INT,BIGINTl 小数型:FLOAT,DOUBLE,DECIMAL(M,D)l 字符型:CHAR,VARCHARl 日期型:DATETIME ,DATE,TIMESTAMPl 备注型:TINYTEXT ,TEXT ,LONGTEXT4、创建一个简单的数据库 创建一个数据库命令:CREATE TABLE删除一个数据库命令:DROP TABLE修改一个字段名称:RENAME TABLE 原字段 TO 新字段 ;删除一个字段: ALTER TABLE 表 DROP 原字段插入一个字段:ALTER TABLE 表 ADD 新字段 AFTER 原字段CREATE TABLE test (
18、id int(10) NOT NULL auto_increment, uid varchar(10) NOT NULL default 0, regdate date NOT NULL, remark text NULL, PRIMARY KEY (id)实例讲解:1将命令复制到phpmyadmin中建立表2 用客户端工具建立表/设计几个字段浏览/结构/SQL/搜索、插入、导出/import/操作.导入数据库文件1、SELECT 查询语句和条件语句SELECT 查询字段 FROM 表名 WHERE 条件 查询字段:可以使用通配符* 、字段名、字段别名表名: 数据库.表名,表名常用条件: =
19、等于 、不等于、in 包含 、 not in 不包含、 like 匹配、 BETWEEN 在范围 、 not BETWEEN 不在范围 条件运算: and 、 or 、 ( ) 2、排序,分组,指针查询,计算分组语句:group by 字段排序语句:order by 字段,字段 ASC / DESC指针查询:limit 初始值,结束值计算: COUNT(*) 统计函数 MAX(*) 最大值函数 MIN (*) 最小值函数 AVG(*) 平均值函数 SUM(*) 累计值函数()3、Insert 插入语句insert into 表名 (字段,) values(值,)insert into 表名 v
20、alues(值,)插入时须考虑清楚字段类型避免插入后出现缺值,乱码现象2、 Update 更新语句 UPDATE 表名 SET 字段 = 值 WHERE 条件 limit 常用条件: = 等于 、不等于、in 包含 、 not in 不包含、 like 匹配、 BETWEEN 在范围 、 not BETWEEN 不在范围条件预算: and 、 or 、 ( ) 5、Delete 删除语句 DELETE FROM 表名 WHERE 条件 limit 常用条件: = 等于 、不等于、in 包含 、 not in 不包含、 like 匹配/%、 BETWEEN 在范围 、 not BETWEEN 不
21、在范围条件预算: and 、 or 、 ( ) MYSQL在PHP5中的应用1、PHP与mysql建立链接 加载mysql组件: extension=php_ 前的; 去掉 extension_dir = 路径是否正确PHP链接mysql函数mysql_connect: 开启 MySQL 链接$conn=mysql_connect(localhost,root,) or die(链接错误);mysql_select_db: 打开一个数据库mysql_select_db(ww,$conn);注意: 和or die 隐藏错误 和 条件显示mysql_connect(主机, 用户名, 密码)mysq
22、l_select_db(打开数据库,连接标识符);如果不特别声明连接标识符,则默认为是上一次打开的连接。2、如何去执行一个SQL语句mysql_query (SQL语句 ,连接标识符);说明:mysql_query用来根据连接标识符向该数据库服务器的当前数据库发送查询,如果连接标识符默认,则默认为是上一次打开的连接。返回值:成功后返回一个结果标识符,失败时返回false。$sql=INSERT INTO test(id,name,regdate) values(,huafan,now();mysql_query($sql,$conn);3、两种查询函数array / row区别格式:mysql
23、_fetch_row(result);说明:mysql_fetch_row用来查询结果的一行保存至数组,该数组下标从0开始,每一个数组元素对应一个域。通过循环,可以将查询结果全部获得。$sql=SELECT * FROM test;$query=mysql_query($sql,$conn);$row=mysql_fetch_row($query);print_r($row);格式:mysql_fetch_array(result);说明:mysql_fetch_array和mysql_fetch_row功能基本相同,只不过它除了可以用从0开始的偏移量作索引,还可以用域名作索引。值返回下一行的
24、所有域值,并将其保存至一个数组中,没有行时返回false。$sql=SELECT * FROM test;$query=mysql_query($sql,$conn);$row=mysql_fetch_array($query);echo $rowname;输出所有内容:$sql=SELECT * FROM test;$query=mysql_query($sql,$conn);while($row=mysql_fetch_array($query)echo $rowname. .$rowregdate.;mysql_query(set names GBK); 解决中文乱码$conn=mysq
25、l_connect(localhost,root,) or die(链接错误);mysql_select_db(ww,$conn);mysql_query(set names GBK);$sql=SELECT * FROM test;$query=mysql_query($sql,$conn);while($row=mysql_fetch_array($query)echo $rowname. .$rowregdate.;4、 其他常用Mysql函数介绍mysql_num_rows 用于计算查询结果中所得行的数目echo mysql_num_rows($query);mysql_insert_
26、id 传回最后一次使用 INSERT 指令的ID。mysql_tablename 取得数据库名称mysql_error 返回错误信息mysql_close 关闭 MySQL 链接学习制作PHP+MYSQL留言板1、设计一个完整程序的流程2、HTML部分表单标签的使用3、PHP里的页面相互调用require() 与 require_once() 通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入require 所指定引入的文件,如果出现错误是致命的。include() 与 include_once() 可以放在 PHP 程序的任何一个位置,PHP 程序在执行到时,才会先读入 inc
27、lude 所指定引入的文件,如果出现错误将会提示。require() ;include() ;3、 PHP接收参数的几种方式PHP5在默认的情况下接收参数是需要使用$_GETvalue;$_POSTvalue;还可以在 文件中的 将register_globals = Off 改register_globals = on可以直接使用,$value的值作业、讨论题、思考题:制作PHP+MYSQL留言板课后小结: 本节课讲解了PHP数组的创建修改,用foreach遍历数组,PHP函数的应用和如何自定义函数,Mysql的简介和创建新的数据库。创建一个数据库命令:CREATE TABLE,删除一个数据
28、库命令:DROP TABLE,修改一个字段名称:RENAME TABLE 原字段 TO 新字段 ;删除一个字段: ALTER TABLE 表 DROP 原字段,插入一个字段:ALTER TABLE 表 ADD 新字段 AFTER 原字段。介绍了SELECT 查询语句和条件语句,排序,分组,指针查询,计算;Insert 插入语句,Update 更新语句 ,Delete 删除语句,PHP与mysql建立链接:$conn=mysql_connect(localhost,root,) or die(链接错误);,如何去执行一个SQL语句:mysql_query (SQL语句 ,连接标识符);,两种查询
29、函数array / row区别, 其他常用Mysql函数介绍如mysql_num_rows 用于计算查询结果中所得行的数目echo mysql_num_rows($query);mysql_insert_id 传回最后一次使用 INSERT 指令的ID。mysql_tablename 取得数据库名称,mysql_error返回错误信息,mysql_close 关闭 MySQL 链接。ASP动态网站开发课程教案授课班级15级淘宝班课次3授课方式理论课讨论课实验课习题课其他课时安排3授课题目(教学章、节或主题):制作PHP+MYSQL留言板教学目的、要求(分掌握、熟悉、了解三个层次):了解设计一个
30、完整程序的流程。掌握HTML部分表单标签的使用与PHP里的页面相互调用掌握PHP接收参数的几种方式及提交表单Javascript验证教学重点及难点: PHP接收参数的几种方式及提交表单Javascript验证。教学基本内容及方法手段实例操作我们的留言板创建表:CREATE TABLE message ( id tinyint(1) NOT NULL auto_increment, user varchar(25) NOT NULL, title varchar(50) NOT NULL, content tinytext NOT NULL, lastdate date NOT NULL, PR
31、IMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=1 /数据库配置$conn=mysql_connect(localhost,root,)or die(连接失败);mysql_select_db(liuyanban,$conn);mysql_query(set names GBK); /操作文件include();if($_POSTsubmit) $sql=insert into message(id,user,title,content,lastdate).values(,$_POSTuser,$_POSTtitl
32、e,$_POSTcontent,now();mysql_query( $sql);echo发表成功;?用户: 标题: 内容: /列表文件 标题:用户: 内容: Head文件添加留言| 浏览留言|登录5、提交表单Javascript验证6、str_replace替换函数str_replace( 被替换的值,替换的值,被替换的内容);$content=asfdasfsafasfasd asfasf afasfasf afasfas; echo $content;输出:asfdasf safasfasd asfasf afasfasf afasfas如果:$content=asfdasfsafasf
33、asd asfasf afasfasf afasfas; echo htmtocode($content);function htmtocode($content)$content=str_replace(n,str_replace(, ,$content);return $content;7、htmlspecialchars 格式化html主要功能是将HTML格式化,防止在输出html时被浏览器执行8、md5加密函数md5( 加密对象 )9、COOKIE 的使用和登陆作业、讨论题、思考题: 设计一个留言板课后小结:本节介绍了设计一个完整程序的流程,HTML部分表单标签的使用,PHP里
34、的页面相互调用,接收参数的几种方式,提交表单Javascript验证,str_replace替换函数。讲解了htmlspecialchars 格式化html,md5加密函数与COOKIE 的使用和登陆。ASP动态网站开发课程教案授课班级15级淘宝班课次4授课方式理论课讨论课实验课习题课其他课时安排3授课题目(教学章、节或主题):PHP+MYSQL分页原理与PHP上传原理及应用及文件操作教学目的、要求(分掌握、熟悉、了解三个层次):了解SQL语句中的limit用法与学习分页的一种公式。掌握FORM标签enctype属性与$_FILES 系统函数掌握move_uploaded_file函数与is_
35、uploaded_file 函数了解PHP部分文件操作函数与unlink() rmdir() 删除函数教学重点及难点: 分页公式与文件上传原理教学基本内容及方法手段1、SQL语句中的limit用法SELECT * FROM table limit 开始位置 , 操作条数SELECT * FROM table limit 0 , 20SELECT * FROM table limit 10 , 202、学习分页的一种公式(1)分页原理所谓分页显示,也就是讲数据库中的结果集,一段一段显示出来(2)需要的条件怎么分段,当前在第几段 (每页有几条,当前再第几页)前10条记录:select * from
36、 table limit 0,10 第11至20条记录:select * from table limit 10,10 第21至30条记录:select * from table limit 20,10 (3)得到公式(当前页数 - 1 )X 每页条数 , 每页条数Select * from table limit ($Page- 1) * $PageSize, $PageSize 3、parse_url()解析URL函数parse_url() 是讲URL解析成有固定键值的数组的函数$ua=parse_url(http:/username:passwordhostname/path?arg=v
37、alue#anchor);print_r($ua);结果:Array( scheme = http /协议 host = hostname /域名 user = username /用户名 pass = password /密码 path = /path /路径 query = arg=value /取得的值 fragment = anchor /)4、$_SERVERREQUEST_URI函数 /除域名以外的值预定义服务器变量的一种,所有$_SERVER开头的都叫做预定义的服务器变量REQUEST_URI的作用是取得的当前URL,也就除域名外后面完整的地址路径。当前页为:Echo $_SERVERREQUEST_URI结果为:/?id=23&cid=22简单分页