欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    动态网站开发教案.doc

    • 资源ID:4525369       资源大小:588.50KB        全文页数:28页
    • 资源格式: DOC        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    动态网站开发教案.doc

    PHP动态网站开发教案20162017学年第2学期二一七年二月ASP动态网站开发课程教案授课班级15级淘宝班课次1授课方式理论课讨论课实验课习题课其他课时安排3授课题目(教学章、节或主题):PHP环境配置、数据类型常用PHP运算类型、PHP条件、循环语句的介绍与应用教学目的、要求(分掌握、熟悉、了解三个层次):了解PHP环境的配置,wamp环境的设置。掌握PHP的数据类型及其数据的运算规则。掌握PHP的条件语句、循环语句的用法及语法规则。教学重点及难点: 动态网站的环境配置与PHP的条件语句、循环语句的用法及语法规则。教学基本内容及方法手段PHP环境搭配和代码调试1、PHP的优势和背景PHP是能让你生成动态网页的工具之一。PHP代表:超文本预处理器(PHP: Hypertext Preprocessor)。PHP是完全免费的,不用花钱,你可以从PHP官方站点( )自由下载。你不必把头埋进100多页的文档中努力学习才可以写出一个象样的程序。只要了解一些基本的语法和语言特色,你就可以开始你的PHP编码之旅了。如果更好的学习建议可以先看看些 HTML 和 SQL 的基础。2、PHP环境的搭配所需的工具: WampServer 5 集成环境 Wamp5是Apache+PHP+Mysql 在Windows下的集成环境,拥有简单的图形和SQLiteManager 满了大部分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 文件中,我们甚至还可以把 HTML 标签也嵌入在 PHP 脚本里。以下是你可以采用的几种方法。你可以选用其中一种你最适合的并且就这样坚持这种方法!从HTML中分离以下是可以使用的方法: < . . . > 短标签模式<php . . . > 标准模式<script language="php"> . . . </script> 类似于javascript模式<% . . . %> 修改模式,也可以支持在PHP中用“;”来分隔语句。那些从HTML中分离出来的标志也表示语句的结束。注释PHP支持C,C 和Unix风格的注释方式:/* C,C 风格多行注释 */ /* */ #.4、要懂得看错误信息错误的显示信息的行数及什么错位置。PHP的数据类型 源码调试1、PHP基本语法和数据类型(1)、PHP基本语法:1、htm和php混编 <font color=red>我好</font>2、一个语句以; (分号结束,英文半角)3、如何定义一个变量,和变量的使用$abc=9;2、赋值运算 a."</br>"2、dowhile 循环语句dowhile(expr)while(expr)先执行一次循环再判断条件先判断条件执再行一次循环for 循环语句val;ee(33);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;直接接收选择性接收(3)function_exists() 判断函数是否存在导入数据库文件1、SELECT 查询语句和条件语句SELECT 查询字段 FROM 表名 WHERE 条件 查询字段:可以使用通配符* 、字段名、字段别名表名: 数据库.表名,表名常用条件: = 等于 、<>不等于、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 表名 values(值,)插入时须考虑清楚字段类型避免插入后出现缺值,乱码现象1、 Update 更新语句 UPDATE 表名 SET 字段 = 值 WHERE 条件 limit 常用条件: = 等于 、<>不等于、in 包含 、 not in 不包含、 like 匹配、 BETWEEN 在范围 、 not BETWEEN 不在范围条件预算: and 、 or 、 ( ) 5、Delete 删除语句 DELETE FROM 表名 WHERE 条件 limit 常用条件: = 等于 、<>不等于、in 包含 、 not in 不包含、 like 匹配 ".$row'regdate'."<br>"."<hr>"mysql_query("set names 'GBK'"); 解决中文乱码$conn=mysql_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 $row'name'." ".$row'regdate'."<br>"."<hr>"4、 其他常用Mysql函数介绍mysql_num_rows 用于计算查询结果中所得行的数目echo mysql_num_rows($query);mysql_insert_id 传回最后一次使用 INSERT 指令的ID。mysql_tablename 取得数据库名称mysql_error 返回错误信息mysql_close 关闭 MySQL 链接学习制作PHP+MYSQL留言板1、设计一个完整程序的流程2、HTML部分表单标签的使用<form action="" method="GET" ><input type="text" size=10 name="user"/><input type="text" size=20 name="title"/><textarea name="content"></textarea><input type="submit" name="submit"/></form>3、PHP里的页面相互调用require() 与 require_once() 通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入require 所指定引入的文件,如果出现错误是致命的。include() 与 include_once() 可以放在 PHP 程序的任何一个位置,PHP 程序在执行到时,才会先读入 include 所指定引入的文件,如果出现错误将会提示。require('') ;include('') ;2、 PHP接收参数的几种方式PHP5在默认的情况下接收参数是需要使用$_GET'value'$_POST'value'还可以在 文件中的 将register_globals = Off 改register_globals = on可以直接使用,$value的值作业、讨论题、思考题:制作PHP+MYSQL留言板课后小结: 本节课讲解了PHP数组的创建修改,用foreach遍历数组,PHP函数的应用和如何自定义函数,Mysql的简介和创建新的数据库。创建一个数据库命令:CREATE TABLE,删除一个数据库命令: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语句 ,连接标识符);,两种查询函数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留言板教学目的、要求(分掌握、熟悉、了解三个层次):了解设计一个完整程序的流程。掌握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, PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=1 "values('','$_POSTuser','$_POSTtitle','$_POSTcontent',now()"mysql_query( $sql);echo"发表成功"><form action="" method="post">用户: <input type="text" size="10" name="user" /><br>标题: <input type="text" name="title" /><br>内容: <textarea name="content" > </textarea><br> <input type="submit" name="submit" value="发布留言"/></form> row'user'."|".$row'title'分页实例/* 分页程序 */ include(""); include("");$pagesize=10;','if($num>$pagesize)if($pageval<=1) $pageval=1;echo "共 $num 条"."<a href=$urlpage=".($pageval-1).">上一页</a><a href=$urlpage=".($pageval+1).">下一页</a>" $sql="select * from message limit $page $pagesize" $query=mysql_query($sql); while($row=mysql_fetch_array($query) echo "<hr><b>".$row'user'."|".$row'title' PHP上传原理及应用1、FORM标签enctype属性表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded(通过浏览器传递文件),不能用于文件上传;只有使用了multipart/form-data(可以传递文件,文件是二进制编码格式),才能完整的传递文件数据。<form action="" enctype="multipart/form-data" method="post" name="upform">上传文件:<input name="upfile" type="file"><input type="submit" value="上传"></form>2、$_FILES 系统函数name); echo "上传成功!" ><form action="" enctype="multipart/form-data" method="post" name="upform">上传文件:<input name="upfile" type="file"><input type="submit" value="上传"></form>文件操作1、PHP部分文件操作函数( fopen ,fread ,filesize,fwrite,fclose )(1) fopen打开文件函数 fopen (路径和文件名,打开方式); R-只读 W-写入 A-读写(2) fread 读取文件内容 fread (打开的文件,结束位置); 字节为单位(3) filesize 读取文件大小,字节为计量单位 filesize (路径和文件名);(4) fwrite 写入文件内容 fwrite (路径和文件名,写入的内容);(5) fclose 关闭打开的文件 fclose (路径和文件名);2、unlink() rmdir() 删除函数unlink() 删除文件函数 :unlink(路径和文件名)rmdir() 删除目录函数 :rmdir(路径和目录名)实例讲解:建立一个模板文件 <!DOCTYPE html PUBLIC "-.htm'$fp=fopen("","r");件重用性差 ,2.软件可维护性差,3.无很好的扩展性面向对象的要素1. 抽象性 , 2. 封装性 ,3.共享性 ,4. 强调对象结构而不是程序结构面向对象的三大特点(封装,继承,多态)缺一不可什么是类我们可以理解成一个功能集合菜单,我们通过类来实现生成我们的方法2、使用CLASS创建一个类class 方法名 3、类的成员属性和成员方法class MyPcpublic $name;var $price; function vod() return "PHP100视频教程" 4、使用new函数对象实例化new 对象名( 参数 )例:class MyPcvar $key;,播放电影"."<br>"function game()echo $this->vod()."玩游戏"$pc1=new MyPc();$pc1->name="家用电脑!"this->type.",播放电影"."<br>"function game()echo $this->vod()."玩游戏"$pc1=new MyPc("家用电脑","台式机");$pc1->vod(); this->name; 输出结果=公司电脑=家用电脑提前释放:$pc1=null;9、类的封装和应用l 封装关键字:public,protected,private封装是把一些相关的属性和行为隐藏起来,从而得到保护和安全。public 表示全局,类内部外部子类都可以访问;protected表示受保护的,只有本类或子类或父类中可以访问;private表示私有的,只有本类内部可以使用;class MyPc public $name; ="son print <br>"$p=new son();echo $p->dayin();l 基类方法重载和父类方法访问因为属于向下继承的原理,基类不能使用派生类里内容,这个时基类的一些方法不能完成我们的一些派生类的功能,我们就可以进行方法重载避免了,新建方法带来的混乱。方法重载我们也可以理解方法覆盖,在派生类里使用与基类方法重名的方法名称执行重载,重载时我们需要调用原始基类内容,再增加新内容,我们可以使用基类名 :方法名称class son extends root function dayin()returnroot:dayin()."son print <br>"11、类的抽象方法和类l 抽象关键字 :abstract抽象就是无法确切的说明,但又有一定的概念或者名称,在PHP中声明一个抽象类或者方法我们需要使用adstract关键字。l 抽象方法和抽象类的定义一个类中至少有一个方法是抽象的,我们称之为抽象类。所以如果定义抽象类首先定义抽象方法。abstract class class1 abstract function fun1();1、类中至少有一个抽象方法。2、抽象方法不允许有 。3、抽象方法前面必须要加abstract。l 抽象类和方法使用规则抽象类的几个特点: 1、不能被实例化,只能被继承。 2、继承的派生类当中要把所以抽象方法重载才能实例化。不可实例化可实例化abstract class cl1abstract function fun1();class cl2 extends cl1 ,电脑打开中."class my extends MyPc*",电脑打开中."this关键字就不能使用echo self:$name.",电脑打开中.",电脑打开中."$p=new MyPc();$p->power();注意事项:1、建议大写常量2、常量不使用$符号类中接口的应用1、 接口的介绍与创建 关键字 :interface接口:一种成员属性全部为抽象的特殊抽象类,在程序中同为规范的作用。抽象类1、类中至少有一个抽象方法2、抽象方法前需加abstract接口1、类中全部为抽象方法2、抽象方法前不用加abstract3、接口抽象方法属性为public4、成员属性必须为常量共同点:1、本身都不能被实例化,必须被继承或者引用。2、继承或者引用后,需要把所有抽象方法重载方可使用。接口有自己的创建关键字:interface 与普通类的创建类似interface demo <br>"$what->alert();$p=new mypc();$zip=new zip();$mp3=new mp3();$p->pcusb($mp3);n; echo "错误的参数".Print_r($v);.php"); 这是一个空类"function _call($n,$v)echo "不存在的方法是:".$n."<br>"echo "错误的值是:".print_r($v);function _destruct()echo"<br>清理一个对象"function _clone()$this->name="你的值"$p=new my();this->table); mysql_query("SET NAMES '$this->ut'"); function query($sql, $type = '') if(!($query = mysql_query($sql) $this->show('Say:', $sql); return $query; function show($message = '', $sql = '') if(!$sql) echo $message;else echo $message.'<br>'.$sql; function affected_rows() return mysql_affected_rows();function result($query, $row) return mysql_result($query, $row);Function num_rows($query) return mysql_num_rows($query);function num_fields($query) return mysql_num_fields($query);function free_result($query) return mysql_free_result($query);function insert_id() return mysql_insert_id();function fetch_row($query) return mysql_fetch_row($query);function version() return mysql_get_server_info();function close() return mysql_close(); (保存的域HTTPS), 1);接收和处理CookiePHP对Cookie的接收和处理的支持非常好,是完全自动的,跟FORM变量的原则一样,特别简单。比如设置一个名为 MyCookier的Cookie,PHP会自动从WEB服务器接收的 HTTP头里把它分析出来,并形成一个与普通变量一样的变量,名为$ myCookie,这个变量的值就是Cookie的值。数组同样适用。另外一个办法是引用PHP的全局变量$HTTP_COOKIE_VARS数组。分别举例如下:(假设这些都在以前的页面里设置过了,并且仍然有效)echo $MyCookie;echo $CookieArray0;echo $_COOKIE"MyCookie" echo $HTTP_COOKIE_VARS"MyCookie" 删除Cookie要删除一个已经存在的Cookie,有两个办法:1、SetCookie("Cookie", "");2、SetCookie("Cookie", "value" , time()-1 / time() );使用Cookie的限制1、必须在HTML文件的内容输出之前设置;2、不同的浏览器对Cookie的处理不一致,且有时会出现错误的结果。3、限制是在客户端的。一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4KB,每个WEB站点能设置的Cookie总数不能超过20个。3、Session的配置与应用session_start(); 在文件头部$_SESSIONname=value; _COOKIE'id'."<br>密码:".$_COOKIE'pass'echo "<br><a href='out=out'>退出</a>"if($_GET'out')setcookie('id','');setcookie('pass','');echo"<script>=''</script>"> <form action="" method="post" > 用户: <input type="text" name="name" /><br> 密码: <input type="password" name="password" /><br> <input type="submit"value="登陆"/></form><phpsession_start();if($_POST'name'&&$_POST'password')$_SESSION'id'=$_POST'name'$_SESSION'pass'=$_POST'password'if($_SESSION'id'&&$_SESSION'pass')echo"登录成功<br>用户名:".$_SESSION'id'."<br>密码:".$_SESSION'pass'echo "<br><a href='out=out'>退出</a>"if($_GET'out')unset($_SESSION'id');unset($_SESSION'pass');> <form action="" method="post" > 用户: <input type="text" name="name" /><br> 密码: <input type="password" name="password" /><br> <input type="submit"value="登陆"/> </form>PHP5中图片验证码的制作1、启用PHP中GD库GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。 在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。l 通过WAMPserver 启用GD库l 通过 启用GD库,将;extension=去掉2、部分GD库函数的介绍1、 imagecreatetruecolor 新建一个真彩色图像imagecreatetruecolor ( int x_size, int y_size ) dechex(rand(1,15);$_SESSION'check_pic'=$rand;_SESSION'check_pic'elseecho "验证码错误".$_SESSION'check_pic'> <form action="" method="post" > <image src=''><br> <input type="text" name="check"/><br> <input type="submit" value="提交"/> </form>5、image与header输出的介绍PHP的HEADER是定义头的动作,新PHP5中支持三种类型:header(*)arr0;elseecho "匹配不成功"a-z A-Z _ 0-9 匹配内容的0次1次或多次,但不包含回车换行+ 匹配前一个内容的1次或多次匹配前一个内容的0次或1次| 选择匹配类似PHP中的| (因为这个运算符合是弱类型导致前面最为整体匹配) 匹配字符串首部内容$ 匹配字符串尾部内容b 匹配单词边界,边界可以是空格或者特殊符合B 匹配除带单词边界意外内容m 匹配前一个内容的重复次数为m次m, 匹配前一个内容的重复次数大于等于m次m,n 匹配前一个内容的重复次数m次到n次( ) 合并整体匹配,并放入内存,可使用1 2依次获取匹配的时候$mode='/444(.*)222/s'x 忽略正则中的空白$mode='/3 3 3/x'A 强制从头开始匹配$mode='/444/mA'$str="00000n4440000n222000"D 强制$匹配尾部无任何内容 n$mode='/2000$/D'$str="00000n4440000n222000n"U 禁止贪婪匹配 只跟踪到最近的一个匹配符并结束,常用在采集程序上的正则表达式.$mode='/<(.*)>/U'$str="asdddddas<b>ssss</b>fdasfds"/U'$str="asdddddasnamesssssexfdasagefds"echo"<hr>"preg_match_all($mode,$str,$arr);print_r($arr);源文件如下Array( 0 => Array ( 0 => name 1 => sex 2 => age ) 1 => Array ( 0 => name 1 => sex 2 => age )2、替换功能preg_replace 正则替换函数preg_replace ( mixed pattern, mixed replacement, mixed subject , int limit ) 通过正则表达式来替换相关内容,类似之前学过的str_replace字符串替换,但功能要强于它。提示:1、替换内容可以是一个正则也可以是数组正则$str="姓名:name<br>性别:sex<br>年龄:age"$mode=array("/name/","/sex/","/age/");$met=array("王京峰","男","33岁");echo"<hr>"echo preg_replace($mode,$met,$str); 2、替换内容可以通过修正符e来解决替换执行内容$str="2222a222333d2133124t6768768"$mode='/(a-z)/ie'速度快:相对其他模板引擎。 2. 编译型:采用smarty编写的程序在运行时要编译成一个非模板技术的PHP文件。 3 缓存技术:它可以将用户最终看到的HTML文件缓存成一个静态的HTML页。 4. 插件技术:smarty可以自定义插件。不适合使用smarty的地方 1. 需要实时更新的内容。例如像股票显示,它需要经常对数据进行更新。 2. 小项目。小项目因为项目简单而美工与程序员兼于一人的项目。2、Smarty的配置 templates" templates_c" smarty_cache" amesectionelse 无内容/section例子:include("");$name=array("name"=>"新闻第一条","date"=>"2010-09-08");$name=array("name"=>"新闻第二条","date"=>"2010-08-08");$name=array("name"=>"新闻第三条","date"=>"2010-10-08");$name=array("name"=>"新闻第四条","date"=>"2010-11-08");$name=array("name"=>"新闻第五条","date"=>"2010-12-08");$row=arr

    注意事项

    本文(动态网站开发教案.doc)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开