PHP技术项目实训1.实训的目的:进一步了解与应用PHP技术2.实训的项目:新闻发布系统(cms)3.主要的课程:php基础理论,mysql数据库操作,项目开发4.所要学的知识点联智创想教育PHP语言做为当今互联网最流行的开发语言,被全世界超过2000万的网站使用着,PHP语言作为成熟的开源体系——LAMP(Linux、Apache、MySQL、PHP)的重要一员,以其简单性、开放性、低成本、安全性和适用性等特点,正受到越来越多的Web程序员的青睐,通过本次的实践教程将使大家对PHP语言有一个基本的了解,并可以自己动手编写一个简单的小项目。一些使用PHP技术的WEB2.0网站:YahooFliker、Youtobe、Facebook、Babytree、无名小站、优酷、MOP等国内外很多大型门户也在使用PHP作为系统开发,如:百度、新浪、搜狐、雅虎、赶集网、淘宝、GooglePHP语言——Web2.0开发的利器PHP语言——Web2.0开发的利器在互联网的初级阶段,Web开发者多使用C或Perl等CGI语言进行Web开发,进而发展到使用ASP,PHP4等脚本语言,时至今日C#/ASP.NET,JAVA(jsp/j2ee),PHP5,Python,Ruby等百花齐放。由于微软的解决方案不能跨平台运行,余下的只有JavaEE(SunJava2EnterpriceEdition)与LAMP(Liunx/Apache/MySQL/PHP)两种解决方案。而J2EE架构成本与开发成本过于昂贵,JAVA对于开发人员来说学习成本与学习难度也比较高,但是这些对PHP来说却不是问题:免费!简单!开发速度快!What’sPHP?PHP(HypertextPreprocessor)是一种跨平台的,在服务器端执行的脚本语言。主要用于处理动态网页。PHP也包含命令行接口(CommandLineInterface)和用于创建图形用户界面(GUI)的程序。PHP(PersonalHomePage)最初由RasmusLerdorf设计。后来AndiGutmans和ZeevSuraski的加入,重写了php内核,并且因此成立了Zend公司,多年来PHP在Zend公司和全世界众多开源程序爱好者共同发展与完善下快速成长起来。目前版本已达到PHP6,全面支持面向对象编程。PHP的特点1.快速、免费、跨平台2.具有很好的扩展性(可伸缩性)和开发性3.强大的数据库支持和丰富的功能4.易学易用5.面向对象编程6.版本更新速度7.面向企业级应用PHP应用范围1.论坛系统PHPBBDiscuz!PhpWind2.内用管理系统(CMS)PhpCmsDedeCms帝国CMS3.电子商务系统MagenteosCommerceECShopTaobao4.博客系统、SNS社交网络WordPressUCenterHomeElggDolphin5.项目管理系统、在线办公系统(OA)6.Win32/X-window桌面级(PHPGTK、Winbinder)应用,Shell或命令行下运行的deamon守护脚本以及服务器端管理程序PHP语言学习资源1.太多非常优秀的开放源代码的免费项目程序Discuz!PhpwindPhpcmsWordPressElggECShopdedecms…2.太多的PHP框架zendframeworkSymfonycakephpthinkphpfleaphp/qeephp…3.太多的php社区sf.netphpchina.comphpe.netphpfans.netim286.comphpmore.comcsdn.netphpwind.comdiscuz.com…4.Php手册、搜索引擎(google.com)5.众多的开源爱好者、支持者与技术牛人PHP的精神1.自由PHP起源于自由软件,即开放源代码(OpenSource)软件。自由软件是一种生活习惯及态度。2.开放、共享、互助遵守GNU协议。3.英雄不问出处!在windows下搭建PHP运行环境联智创想教育分别安装下载网址:httpd.apache.org、、、APPServ、PHPnow、HiLite、PnLitephp基本语法联智创想教育从一个例子看起:新建一个文本文件保存扩展名为“.php”,内容如下:htmlheadtitle这只是一个测试!/title/headbody?phpecho“PHP开发环境跑超来了!”;?/body/html注:所有的标签都是成对的,这是个好习惯!PHP的书写格式联智创想教育风格?php//Yourcode?2.脚本格式scriptlanguage=“php”//Yourcode/script3.ASP风格(必须开启标签支持)%//yourcode%推荐使用第一种风格。联智创想教育变量以美元符$开头,以名称作为变量之间的区分。分为标量变量、数组变量和对象三种类型。2.标量变量的定义$coname=“ThinkerUnion”;//合法,推荐使用$user_name=$_POST[‘name’];//合法,推荐使用$__3ban=100;//合法,不推荐使用$3721site=“”;//非法,不要用纯数字开头$第三个变量=“第一的质量”;//非法,不要用汉字(双字节)开头注:变量命名要见名知义!一些规则说明:变量名长度=255个字符,名称可以包含字母、数字、_变量名不能用数字开头变量名称区分大小,这个要注意一下。尽量避免使用PHP保留字、内置函数名使用变量时,事先声明是个好习惯联智创想教育数组声明一个变量为数组类型:$names=array();开始给数组元素赋值了,$names[]=“linghuchong”;$names[]=“qiaofeng”;$names[]=“mingyuexin”;print_r($names);$new_names=array(‘linghuchong’=‘令狐冲’,‘qiaofeng’=‘乔疯’,‘mingyuexin’=‘明月新’);var_dump($new_names);联智创想教育对象$obj=newmember();$obj-member_login();classmember{functionmember_login(){//optcode…}}联智创想教育三种类型的操作符:一元、二元、三元操作符1+1;10*3.1415962;-0.5;$i–1;$number=12?1:2;$total=1;$count=“10”;$total+=$count;echo$total;打印与输出变量、显示数组与对象、变量的数据精度、变量的作用域、变量类型、静态变量、变量操作符变量的其它事情联智创想教育算术运算符(+,-,*,/,%)$val1=1;$val2=2;$val3=$val1+$val2;echo$val3;赋值运算符(=,+=,-=,*=,/=,%=)$val=0;$val+=1;echo$val;字符串操作(.,{…}{…})$val1=‘abc’;$val2=‘def’;echo$val1.$val2;前置与后置加减运算(++,--)$val=1;echo++$val;echo$val++;比较运算符(==,===,!=,,!==,,,=,=)$val1=123;$val2=“123”;if($val1==$val2){echo‘$val1等于$val2’;布尔运算符(and,or,xor,!,&&,||)$val1=true;$val2=false;if($val&&$val2){echo‘True’;}其它操作符(@,``)$a=@(2/0);联智创想教育脚本运行时,值不再改变了。定义一个常量define(“CONSTANT_NAME”,常量的值);常量的一些说明:常量名称是一个大写字符串常量的值可以是任意的字符串内容常量可以定义为布尔值(True/False),默认为True具有全局作用域联智创想教育(){}break/continue(循环控制)Do{}while()For(){}Foreach(){}包含控制includerequireinclude_oncerequire_once联智创想教育函数提供独立明确任务的流程语句块。用来组织与重用代码。PHP内部函数php基本函数与外部扩展库提供的扩展函数使用(调用)方式:fun_name($val1,$val2,…,$valn);strlen()substr()time()intval()header()printf()用户自定义函数functionfun_name($var1,$var2,…){//处理语句}函数的命名规则联智创想教育函数名称不区分大小写。函数的参数没有限制,可以定义任意个需要参数数量。虽然理论上函数名可以为双字节的汉字,但是不建议使用。总体来说,php函数命名还是比较宽松的。Php标准函数都是小写命名,也可以大小写混合。Php中的$Name与$name指向的是两个不同的变量,也就是说php对变量名的大小写是敏感的。而My_fun()与my_fun()则指向同一个函数。函数的作用域从函数中返回值表单─处理用户输入一、表单与HTML1.设计表单forminputtype=“submit”//form二、GET与POST的区别1.GET方法是在访问URL时,使用浏览器地址栏来传递值。方便直观,但是访问该网站的用户也可以修改URL串后发送给服务器,如果程序处理得不够好很容易出错,而且GET传递的字符串长度不能超过250个字符,如果超长浏览器会自动截断,导致数据丢失。另外GET方法不支持ASCII字符之外的任何字符。比如包含有汉字或其他非ASCII字符时,需要使用额外的编码操作,虽然有时候浏览器也能自动完成(可以使用url_encode和url_decode函数)。2.POST方法发送变量数据时,对于用户来说是不透明的,按HTTP协议来说,数据附加于header的头信息中,用户不能随意修改,这对于Web应用程序而言,安全性好一点,而且使用POST可以发送大体积的数据给WEB服务器。3.因为POST是随HTTP的header信息一起发送的,当触发POST表单提交后,如果用户后悔而点点击“后退”按钮,浏览器不会自动重发POST数据。如果用户此时单击“刷新”按钮,将会有“数据已经过期,是否重新提交表单”的提示,这一点又不如GET使用方便。使用GET传值时,即使用户使用“后退”或“刷新”按钮,浏览器的URL地址也是依然存在的。表单元素inputtype=“text”/inputtype=“password”/inputtype=“checkbox”/inputtype=“radio”/inputtype=“file”/inputtype=“hidden”/inputtype=“reset”/inputtype=“submit”/inputtype=“button”/selectoption/option/selecttext