友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
一世书城 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

php程序设计简明教程(DOC格式)-第14章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!





数前不能有任何(如HTML)的输出。  

如果你的PHP 程序中需要输出  HTML  (如要使用echo 等输出什么东西时  )前,也需要使用header()函数,那 

么,要先用header()函数输出所有的头信息,否则会出错。  

可能会返回的错误消息:  

“Warning:  Cannot  send  session  cookie   headers  already  sent。。。”或者“Cannot  add  header  information   

headers already sent。。。”。    

  

头信息参数string 的形式:常见的头信息有下面三种之一,并只能出现一次。  

Location: URL  (掌握)  

Content…Type: xxxx/yyyy  

Status: nnn xxxxxx  

  

header(“Location:URL”)  

作用:服务器直接向浏览器发送一个网络地址为URL 的页面。  

举例:  

  

作用类似于JavaScript 的window。location=URL,但后者是浏览器向URL 中的服务器请求这个URL,该服务器 

受到这个请求后,将该服务器上地址为 URL 的页面返回给浏览器,整个过程是请求…响应(两段),前者仅响应 

 (一段)。  

〃Y  数学函数库  

floor … 向下取整  

语法格式:float floor ( float value )  

返回不大于  value  的下一个整数,将  value  的小数部分舍去取整。floor()  返回的类型仍然是  float ,因为  float  

值的范围通常比  integer  要大。    

例  floor()  例子  

      

ceil … 向上取整  

语法格式:float ceil ( float value )  

返回不小于  value  的下一个整数,value  如果有小数部分则进一位。ceil()  返回的类型仍然是  float ,因为  float  

值的范围通常比  integer  要大。    

例  ceil()  例子  

      

 (2 )用户自定义函数  

定义的语法格式    

      

尽量在被调用之前定义  

可放在包含文件中,用包含文件即可实现定义。  



10。session 的应用  



 (1)session 的概念  

1)使用session 的意义:  

HTTP 是一种无状态会话(请求/响应),没记性的协议。每次会话结束,所有的数据都将不复存在。例如你又从 

这页转到了别的页,HTTP  也就忘记了你刚才的状态。如何使它记住个别客户(浏览器)的状态,PHP 提供了 

一种session 变量,可实现持续状态的会话。  

session 变量可以让我们继续使用以前的页面数据,好像服务器已经记住了或者说跟踪了我。因此,可以在PHP 

程序文件之间传递数据(数值、字符串、数组和对象)。当用户在应用程序的页间进行跳转时,session  变量不 

会释放(在设定的session 存活期时间内,一般为180 分钟,可自行在php。ini 设定session。cache_expire 的值)。  

由此可见,session 变量存储的是个别浏览器端专用的数据。当用户浏览Web 站点时,使用session 变量可以为 

每一个用户保存指定的数据。任何存储在用户session 变量中的数据可以在用户调用下一个页面时取得。  

实际应用中,在身份认证、操作监控、客户消费偏好跟踪等许多需要持续会话的场合,应用广泛。  

2 )基本原理:  

服务器使用唯一的session 标志码字符串命名的小文件,来存储跟踪客户数据,每个客户一个文件,每个文件名 

均不相同,每个客户的数据均集中存储在他那个session 变量文件中。每个客户的session 变量存储在一个单独 

的以标志码命名的文本文件中,如sess_d8c46f13d7d346e53a621bb5e82eeb13 (无扩展名,可用记事本打开)。  



                                                                                            



                                         PHP 讲义    第  51  页  共  90  页  


…………………………………………………………Page 52……………………………………………………………

                                     session 文件的内容:四维数组  

从上图可见,有关某一个客户的 session 变量都被集中到了一起,形成了一个四维数组。该数组中每个元素的下 

标(键名)就是变量名,其余三位分别是该元素的类型、长度、具体的值。  

这些文件在服务器设定的目录下。  

 (2 )session 变量的使用  

准备工作:  

①必须建立或指定一个文件夹供PHP 存放session 变量文件。  

该文件夹路径、名字任意(一般为tmp )。  

如:d:tmp 或d:abcpqrxzy  

②要告诉PHP 这个存放session 变量文件的路径:在PHP 配置文件php。ini 中  

设置session。save_path= d:/tmp 或其他文件夹,注意这里用正斜线/ ,是Unix 系统中目录的写法。  

  

在程序中使用:通过专门的函数进行。  

一般的顺序和使用的函数如下:  

①session_start——初始化  session 。  

语法: boolean session_start();  

本函数初始化一个新的session,若该客户数据已在  session  之中,则连上原session 。本函数返回值均为  true 。  

注意:在程序中,该函数的使用必须在任何向浏览器输出之前。  

②session_register——注册新的session 变量  

语法: boolean session_register(string name);  

本函数增加一个变量到当前客户的session 变量数组中。参数  name  即为欲加入的变数名。成功则返回  true  值。  

  

③象使用一般PHP 变量一样使用session 变量,  

如echo s_name。”;你好!”等等。  

  

④不使用时,基于安全的原因,应及时释放,最简洁的方法顺序如下:  

首先,unset掉每个session变量元素  

  unset(s_name)或unset (_SESSION''varname'')  

  删除名为s_name 的那个session 变量。  

  或说,删除了键名为s_name 的那个session 数组中的元素。  

  本质:销毁变量的内存空间  

  注意:不要  unset(_SESSION) ,这样将会使  _SESSION  不能发挥作用。  

然后,destroy 掉session 文件  

  session_destroy()——删除session 文件  

  语法: session_unset()  

  本质:删除变量的外部存储空间  

  

例:x。php  

  

  

y。php  



                                      PHP 讲义    第  52  页  共  90  页  


…………………………………………………………Page 53……………………………………………………………

  

  



第二节  PHP 编程要点  



1。流程控制结构  



 (1)基本结构if,switch,while ,for ,break,continue 同C 语言,详细用法参见有关资料,此处略。  

 (2 )exit 和die  

exit('string  message') :输出消息message 后终止脚本的执行。若省略message,则什么也不输出就终止了脚 

本的执行,这时,可以不带括号。  

例如:用于调试,查看a 中的内容是否为空串,是则中断执行,同时输出消息  

if(a=””)  

    exit(‘a 是空串!’);  

die 是exit 的别名,作用同exit。  

注意:exit 和die 都是用于控制语句流程的关键字,不是函数,因此不具备返回值的能力。  

 (3)包含文件  

require(“要包含的文件”)  

include(“要包含的文件”)  

两者具有相同的目的:包括并运行指定文件,类似于C 程序中包含头文件的作用。    

若要包含的文件找不到,include()  产生警告后继续执行,而  require()  则会报错并停止。因此,要想在丢失文 

件时停止处理页面,那就需要用  require() 。    

通常使用require()。  

注意  

①require()和include()都是语言结构,用于流程控制的,不是函数。  

②由于它们包含进来的是文件(一般是多条代码的集合),为保证主程序的逻辑流程正确,在条件语句中使用必 

须将其放在语句组中(花括号中)。  

例:基本的  require()  例子  

      



2。 PHP 嵌入HTML 或JavaScript 中  



使用四种不同的PHP 语言标记符,嵌入PHP 代码。  



                                    PHP 讲义    第  53  页  共  90  页  


…………………………………………………………Page 54……………………………………………………………

其中两种:  和    …  总是可用的。  

另两种是  

  短标记:  在  php。ini  配置文件的指令  short_open_tag=on 时可用。  

  ASP  风格标记,在  php。ini  配置文件的指令  asp_tags =on 时可用。  

例子:  

 (1)  

 (2 )  

                echo '有些编辑器如frontpage 不支持这种标记格式';  

          

 (3)
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!