基于PHP的网站方案设计书及项目最终版Word文档格式.docx

上传人:b****7 文档编号:22055756 上传时间:2023-02-02 格式:DOCX 页数:44 大小:748.21KB
下载 相关 举报
基于PHP的网站方案设计书及项目最终版Word文档格式.docx_第1页
第1页 / 共44页
基于PHP的网站方案设计书及项目最终版Word文档格式.docx_第2页
第2页 / 共44页
基于PHP的网站方案设计书及项目最终版Word文档格式.docx_第3页
第3页 / 共44页
基于PHP的网站方案设计书及项目最终版Word文档格式.docx_第4页
第4页 / 共44页
基于PHP的网站方案设计书及项目最终版Word文档格式.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

基于PHP的网站方案设计书及项目最终版Word文档格式.docx

《基于PHP的网站方案设计书及项目最终版Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于PHP的网站方案设计书及项目最终版Word文档格式.docx(44页珍藏版)》请在冰豆网上搜索。

基于PHP的网站方案设计书及项目最终版Word文档格式.docx

4.4继承……………………………………………16

4.5成员控制………………………………………16

第五节PHP+MySQL……………………………………………16

5.1PHP中MySQL内置函数……………………………16

5.2PHP+MySQL版本的网站设计…………………………………20

第六节实际博客项目……………………………………………22

6.1分析项目……………………………………………22

6.2后台(部分代码)…………………………………23

6.3前台(部分代码)…………………………………26

6.4实现效果……………………………………………29

结束语……………………………………………31

参考文献………………………………………………………32

致谢……………………………………………………33

第1节引言

近年来,php越来越来流行,由于所有的PHP源代码事实上都可以得到,PHP是免费的。

程序开发快,运行快,技术本身学习快。

嵌入于HTML:

因为PHP可以被嵌入于HTML语言,它相对于其他语言。

编辑简单,实用性强,更适合初学者。

由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS、MacOS下。

PHP消耗相当少的系统资源。

 SiteTeam企业自助建站软件是一部专业为搜索引擎营销(网站优化/SEO)而设计,操作极简单,网站极稳定、故障自动修复、在线升级维护、建站速度极快、专为大众上网营销而设计的完全免费开源企业建站系统!

用PHP动态创建图像。

php4,php5中,面向对象方面都有了很大的改进,php完全可以用来开发大型商业程序。

专业专注:

PHP支持脚本语言为主,同为类C语言。

PHP的语法与C,Perl,ASP或者JSP相比,对于那些对上述之一的语言较熟悉的人来说,PHP太简单了。

相反的,如果你对PHP了解较多,那么你对于其他几种语言的学习都会变得很简单。

你只需要30分钟就可以将PHP的核心语言特点全部掌握,你可能已经非常了解HTML,甚至你已经知道怎样用编辑设计软件或者手工来制作好看的WEB站点。

由于PHP代码能够无障碍的添加进你的站点,在你设计和维护站点的同时,你可以很轻松的加入PHP使得你的站点更加具有动态特性。

PHP可以编译成具有与许多数据库相连接的函数。

PHP与MySQL是现在绝佳的组合。

你还可以自己编写外围的函数去间接存取数据库。

通过这样的途径当你更换使用的数据库时,可以轻松的更改编码以适应这样的变化。

PHPLIB就是最常用的可以提供一般事务需要的一系列基库。

就像前面说的那样,PHP已经进入了一个高速发展的时期。

对于一个非程序员来说为PHP扩展附加功能可能会比较难,但是对于一个PHP程序员来说并不困难。

PHP提供了类和对象。

基于web的编程工作非常需要面向对象编程能力。

PHP支持构造器、提取类等。

传统上网页的交互作用是通过CGI来实现的。

CGI程序的伸缩性不很理想,因为它为每一个正在运行的CGI程序开一个独立进程。

解决方法就是将经常用来编写CGI程序的语言的解释器编译进你的web服务器(比如mod_perl,JSP)。

PHP就可以以这种方式安装,虽然很少有人愿意这样以CGI方式安装它。

内嵌的PHP可以具有更高的可伸缩性。

除了以上优点,PHP的开发者们为了更适合web编程,开发了许多外围的流行基库,这些库包含了更易用的层。

你可以利用PHP连接包括Oracle,MS-Access,Mysql在内的大部分数据库。

你可以在苍蝇上画图,编写程序下载或者显示e-mail。

你甚至可以完成网络相关的功能。

最好的是,你可以选择你的PHP安装版本需要哪些功能。

引用Nissan的Xterra的话来说就是PHP可以做到你想让它做到的一切,而且无所不能!

第2节PHP的前言

2.1PHP的用途

1.编写服务器脚本(图)

2.编写命令行脚本

3.编写桌面应用程序

图2-1编写web服务器脚本过程

2.2wamp环境

W代表:

Windows平台,a代表:

Apache服务器,m代表:

mysql数据库,p代表:

PHP语言;

先安装Apache服务器,在安装PHP,最后安装mysql。

PHP官网下载:

Windows平台的Apache环境请下载VC6x86ThreadSafe版本;

Windows平台的PHP作为Apache模块安装:

解压下载的ZIP包,到E:

\webdev\php\目录

将E:

\webdev\php\php.ini-development另存为php.ini

将以下代码添加到apache的主配置文件httpd.conf末尾

LoadModulephp5_module"

e:

/webdev/php/php5apache2_2.dll"

AddTypeapplication/x-httpd-php.php

PHPIniDir"

E:

/webdev/php"

<

IfModuledir_module>

DirectoryIndexindex.htmlindex.phpdefault.html

/IfModule>

PHP文件后缀名为.php文件:

phpinfo.php

PHP语法标记格式:

?

php

phpinfo();

>

在Apache的www根目录下新建phpinfo.php文件,运行检测PHP是否安装成功。

图2-2测试PHP的版本

第3节PHP项目中常用函数

3.1函数

(1)函数的定义:

函数——能够实现指定功能的已命名代码模块,一次定义可重复调用。

函数的特点:

先定义,后使用。

一次定义,多次使用。

使得整个程序模块化。

函数在PHP语言中分为:

自定义函数——用户自己定义的函数,内置函数——PHP系统提供的函数。

(2)自定义函数:

自定义函数通过function关键字来声明。

语法:

typefunction函数名([参数列表]){函数体[return返回值]}。

(3)变量的作用域和生命周期:

变量的分类:

局部变量——在函数体内定义的变量,全局变量——函数体外主程序定义的变量。

变量的作用域:

局部变量——在函数体内有效(可见),全局变量——在整个程序脚本中有条件有效(有条件可见)。

变量的生命周期:

局部变量——从声明语句开始到函数结束,全局变量——从声明语句开始到脚本结尾。

global——函数局部中使用全局变量,必须先用该关键字声明,方可使用。

static——静态变量强制性将变量的生命周期延续到下一次调用;

静态变量仅在局部函数域中存在。

(4)函数的参数:

typefunction函数名([参数列表]){函数体[return返回值]}函数的参数列表可以有,也可以没有;

多个参数用半角英文逗号(,)分隔;

默认参数从右向左。

无参数的函数:

functiondisplayBR(){echo"

BR>

"

;

};

有参数的函数:

functiondisplayBR($n){for($i=0;

$i<

$n;

$i++){echo"

}};

有多个参数的函数:

functiondisplay($name,$age){echo"

姓名为:

.$name."

br>

年龄为:

.$age;

}display(“孟飞”,48);

//两个参数;

有默认参数的函数:

functiondisplay($name,$age="

22"

){echo"

}display(“孟飞”);

//注意:

这里只有一个参数。

默认参数从右向左设置(即:

有默认值的参数,放在参数列表的右侧)。

参数的传址调用:

普通的参数传递为值复制传递调用,若加&

地址符,则为参数地址的别名传递调用,采用传址调用,参数值在函数体内改变后,将影响到函数体外的值。

functiontest(&

$n){$n="

abc"

return$n;

}$n=123;

echo"

主程序中的变量n值:

.$n."

test($n);

调用函数后的变量n值:

.$n."

(5)函数的返回值:

typefunction函数名([参数列表]){函数体[return返回值]}函数的返回值类型type由函数体内的返回语句return控制;

返回值的数据类型即函数的返回类型;

返回值的内容即函数的返回内容;

函数体在return执行后,结束运行。

(6)函数的嵌套和递归:

函数的嵌套——函数中包含函数

functiontest1(){

echo"

函数test1已执行<

functiontest2(){

函数test2已执行<

}

test2();

}

test1();

函数的递归——函数自己调用自己本身,注意:

防止死循环无限递归。

要一个出口。

functioncal($n){

if($n<

=10){

echo$n."

cal($n+1);

$x=cal

(1);

3.2会话控制

PHP的会话控制原理:

通过唯一的会话ID编号来区别不同会话,会话ID是一个经过加密的随机数字,ID可以保存在客户端用户机器中,或是通过URL直接传递,或是存储在服务器端。

会话ID概念:

HTTP协议类似邮政服务——发出即不管,会话ID类似邮箱钥匙,会话ID对应的会话通道,该通道中我们可以注册一些特定的变量信息,称为会话变量。

常见保存会话变量的方法:

COOKIE、SESSION,都是可以暂时保存在多个页面中使用的变量,COOKIE存放在客户端浏览器中,SESSION保存在服务器上。

COOKIE:

cookie/'

kuki/饼干,WEB技术发展史Cookie技术的出现是一个重大的变革,最先是Netscape在它的NetscapeNavigator浏览器中引入Cookie技术,经过微软的大力推广即在微软的InternetExplorer浏览器中完全支持Cookie技术,现在绝大多数浏览器都支持Cookie技术。

原理:

一种能够让网站服务器把少量数据存储到客户端的硬盘或内存中,并能从客户端取回数据的一种技术。

cookie是在http协议下,服务器或脚本可以维护客户端信息的一种方式,cookie是web服务器保存在用户浏览器上的文件,它可以包含有关用户的一些数据信息,当用户访问服务器时,服务器可以访问到cookie的信息;

如果浏览器上Cookie太多,超过了系统所允许的范围,浏览器将自动对它进行删除。

COOKIE只是身份标示,不是代码,不能执行,COOKIE只能由提供服务的发起者读取,COOKIE保存的信息片段以"

名=>

值"

对应的方式存储,一个"

对仅仅是一条记录,COOKIE中的内容大多数是经过加密的。

图3-2COOKIE在客户端的设置

PHP中COOKIE函数:

PHP用setcookie函数来设置cookie

Cookie数据在传输过程中是作为页面请求的一部分进行传输,在浏览器客户端和服务器之间传递信息,PHP中的Cookie是用全局变量数组进行赋值和调用的:

$_COOKIE——超全局数组变量(字符串关联数组)。

设置COOKIE的PHP函数:

setcookie(变量名[,变量值,过期时间(unix秒),有效路径,有效域名]);

变量名:

参数是设置cookie的名字。

变量值:

设定了cookie的值。

过期时间:

cookie变量有效期的截至时间(超过则失效),是一个标准的Unix时间标记,可以用time()函数取得,以秒为单。

cookie的有效路径和有效域名。

if(!

isset($_COOKIE["

mycookie"

])){

没有mycookie参数,开始设置mycookie参数值"

setcookie("

"

dayu"

time()+1);

}else{

已设置了mycookie的值:

.$_COOKIE['

mycookie'

];

删除COOKIE(两种方法):

setCookie("

cookieName"

);

//赋空值setCookie("

value"

time());

//设过期时间。

使用cookie的限制,不同的浏览器版本,浏览器型号对cookie的处理不同,客户端可以禁用cookie,浏览器也会限制cookie的数量,cookie本身不存在危险。

2.会话控制之SESSION:

客户端禁用COOKIE时如何控制会话:

访问网站的来客会被分配一个唯一的标识符,即所谓的会话ID。

它要么存放在客户端的cookie,要么经由URL传递。

SESSION变量只对相同ID的会话有效,限定了用户和服务器的关联;

相等的session_id表明是同一个会话。

session_start();

//开启会话echosession_id();

//获得当前会话的ID。

SESSION:

PHP中使用超全局变量数组$_SESSION来存储/设置信息(字符串关联数组)

SESSION会话中的数据存放在服务器端;

SESSION_ID会话ID默认存放在客户端的Cookie中。

PHP中使用SESSION会话的工作流程:

脚本中启动会话session,或根据配置文件php.ini中设置的自动启动会话session,设置/取得当前会话ID,即session_id——系统可自动完成,返回/注册/销毁该会话中的变量值,通过cookie或URLGET参数传递session_id——系统可自动完成,进入下一个脚本执行。

php.ini中关于session的配置项:

session.save_path:

session信息在服务器端的存储路径,session.auto_start:

自动启用session,默认不自动。

如果设置为1,则不用每次访问时都先session_start()。

修改php.ini配置,不用cookie存储会话ID,而用URL的GET传递:

session.use_cookies:

使用cookie来保存session_id,默认是session.use_only_cookies:

仅使用cookie来保存session_id,默认是session.use_trans_sid:

是否可以通过URL传递会话ID,默认不允许。

SESSION操作时使用的常用函数:

session_start():

指明php脚本需要使用session会话;

要使用session必须先调用此函数开启会话,除非php.ini中已设置自动开启session_id([string$sid]):

设置/得到session的id值;

设置新的session_id意味着启动一个新的session会话,或设置sid开启一个已有的会话。

session_name([string$session_name]):

设置/返回session_id的名字默认是PHPSESSID,一般不用更改。

session_unset():

释放session中定义的所有变量的值,session_destroy():

销毁session中所有的已注册变量和会话ID。

注意:

session_destroy是清除SESSOIN_ID,并不清除session中的数据;

但既然SESSION_ID被清除了,该会话全局作用域内的数据也就失效了;

但当前脚本中SESSION的数据还是有效的。

session数据有效期是系统根据php.ini中的“垃圾回收”设置的数据有效时间和回收比例共同作用后自动清除的。

session数据默认的有效期为:

浏览器关闭后session失效(推荐在火狐中测试)浏览器不关闭,但没有任何操作(无数据刷新等交互动作),一段时间后session失效推荐自定义设置session的失效时间原理:

利用Cookie中session_id会话编号的保存时间,即可设置session变量的保存时间;

setcookie(session_name(),session_id(),time()+30);

3.3输出函数和引用函数

输出函数:

echo输出字符串(仅能输出标量),无返回值echo("

str"

或echo"

print_r常用于打印数组或对象,将会按照一定格式显示键和元素。

print_r("

或print_r($array);

var_dump打印变量的相关信息,包括表达式的类型与值var_dump($array);

引用函数:

require和include——包含引用函数,将外部独立PHP文件中的代码包含引用到当前脚本中来,require:

当引用的文件不存在时,脚本严重报错,并终止执行,include:

当引用的文件不存在时,脚本提示错误,继续执行。

require("

be_require.php"

和include("

be_include.php"

require_once和include_once——只包含一次的引用函数:

分别与require和include函数相似但分别只会包含目标文件一次,若已包含则不再重复包含,建议使用require_once和include_once来替代require和include函数;

实际开发中优先选用require_once引用。

3.4变量操作函数和数学函数

变量操作函数:

empty检查一个变量的值是否为空,返回布尔值,if(empty($test))。

isset检测变量是否设置(是否已声明),返回布尔值,if(isset($test))。

unset释放(删除)一个或多个变量,unset($v1,$v2);

数学函数:

abs返回变量的绝对值,ceil返回大于变量的最小整数,floor返回小于变量的最大整数,round返回对浮点参数的四舍五入值,max返回参数中最大的值,min返回参数中最小的值,rand返回随机数(可指定随机数范围),sqrt返回参数的平方根,pow返回参数的幂。

3.5字符串函数

与字符串长度有关的函数,计算字符串长度,语法:

intstrlen(字符串),返回值:

字符串长度的数值。

$str="

helloworld"

echostrlen($str);

//11$str="

北京欢迎您"

//utf8下一个汉字的长度为3;

GB2312下一个汉字的长度为2。

清除字符串头尾空白字符,语法:

trim(字符串),返回值:

清除头尾空白字符后的字符串,$str=“北京欢迎您”;

//前有空格echotrim($str);

$str=“北京欢迎您”;

//前后各有空格echotrim($str);

转换字符串英文字符大小写的函数:

将字符串全部转化为大写语法:

strtoupper(字符串)返回值:

全部大写的字符串;

将字符串全部转化为小写,语法:

stringstrtolower(字符串),返回值:

全部小写的字符串。

与字符串位置有关的函数:

返回字符串中指定位置的字符——不用函数,$str="

echo$str[0];

echo$str[4];

返回子字符串第一次出现的位置数字,语法:

strpos(源字符串,寻找的字符串[,起始的查找位置]),返回值:

若出现返回出现位置的数字;

否则返回false,注意:

起始的查找位置默认从开始0位置。

否则返回false。

strpos返回子字符串第一次出现的位置编号,stripos返回子字符串第一次出现的位置编号(不区分大小写),strrpos返回子字符串最后一次出现的位置编号,strripos返回子字符串最后一次出现的位置编号(不区分大小写)。

与字符串替换、截断有关的函数:

字符串替换函数:

替换所有,语法:

str_replace(搜索的目标字符串,要替换的新字符串,源字符串[,&

替换执行的次数(返回值)]),返回值:

替换后的字符串。

字符串截断函数:

substr(源字符串,起始位置[,长度值]),返回值:

截断后取出的部分字符串。

字符串截断函数——substr的特殊参数用法,随着传入参数的不同,函数的返回值也不同。

字符串截断函数,对于中文字符串使用substr的情况,常会出现乱码。

//PHP针对中文的字符串截断函数(适用于多字节字符串)echomb_substr($str,1,9,"

UTF-8"

mb开头的字符串函数需要php.ini中开启extension=php_mbstring.dll扩展。

替换指定截取位置字符串函数,放回被替换后的源字符串,语法:

substr_replace(源字符串,替换部分的新字符串,起始位置[,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1