PHP程序设计习题答案 下载本文

内容发布更新时间 : 2024/12/24 1:06:04星期一 下面是文章的全部内容请认真阅读。

第6章 错误处理及调试

习题

一、填空题

1. 在运行PHP文件时,如果遗漏了一个分号,这属于【语法 】错误。

2. 在PHP中一般有两种方法处理错误,分别为标准PHP错误报告和【异常处理 】。 3. E_ALL表示除【E_STRICT 】以外的所有错误和警告。

4.在脚本运行时,遇见可能出现错误的地方,会触发的级别常量是【E_NOTICE 】。 5.在程序开发中,可以使用【tigger-error 】函数手动触发错误。 二、判断题

1. 异常的处理不属于错误的处理方式。(×)

2. 在PHP中,错误级别表示当前错误的等级。(×) 3. PHP采用常量的形式来表示错误级别。(√)

4. 在PHP中,每个错误级别都采用字符串形式表示。(×) 5. E_ALL表示除E_STRICT以外的所有错误和警告。(√) 三、选择题

1. 在脚本运行时,遇见可能出现错误的地方,会触发的级别常量是( D )。

A: E_ERROR B: E_WARNNING C: E_PARSE D: E_NOTICE

2. 在程序开发中,可以使用( A )函数触发错误。

A: trigger_error() B: error_reporting() C: error_trigger() D: reporting_error()

3. Trigger_error函数有()个参数是必需的,有()个参数是可选的( D )。 A: 2, 1 B: 2, 2 C: 1, 2 D: 1, 1 4. 在使用trigger_error()函数之前,一定要使用(A)函数让错误显示。

A: ini_set() B:set_ini() C: reporting_error() D: error_reporting() 5. 在PHP中,显示错误报告的方式有(A )。 A: 修改配置文件。

B: error_reporting()和echo ()函数。 C: error_reporting()和die()函数。 D: ini_set()和die()函数。

四、简答题

1. 在php.ini文件中,和错误有关的设置都有那些? (1)error_reporting,设定错误级别

(2)display_errors,是否显示错误报告,设置为ON则打开,设置为OFF则关闭所有错误提示

(3)log_errors,默认设置为OFF,是否记录错误日志; (4)track_errors,默认设置为OFF,该选项可以帮助解决代码中的错误,而不是让PHP提供其默认的功能。

第7章 HTTP协议

习题

一、填空题

1. HTTP是Hyper Text Transfer Protocol的缩写,其中文是【超文本传输协议】。 2. 【 HTTP】协议是一种请求/响应式的协议。

3. 在浏览器与服务器的交互过程中,也得遵循一定的规则,这个规则就是【 HTTP】。 1. HTTP允许传输任意类型的数据,但是该数据的类型需要由【Content-Type协议】加

以标记。

4. 基于HTTP1.0协议的客户端与服务器在交互过程中需要经过【 4】个步骤。 二、判断题

1. HTTP1.0协议每次只能处理一个HTTP请求。(√)

2. HTTP1.1协议在一个TCP连接上可以传送多个HTTP请求和相应。(√)

3. http://www.test.com/test/请求的是域名为www.test.com的Web服务器根目录下的

默认资源。(×)

4. 如果网页上的form表单不设置method属性,则默认以post方式发送请求。(×) 5. POST方式提交表单是将表单元素及数据作为实体内容发送给服务器。(√) 三、选择题

1. HTTP响应行位于请求消息的第一行,它不包含哪几个部分?(D)。

A: 状态码 B: 状态描述信息 C: HTTP协议版本 D: 响应返回的目标地址

2. 关于以下在开发中比较常见的状态码描述错误的是(C)。

A: 状态码200表示服务器成功处理了客户端的请求。

B: 状态码302表示请求的资源从不同的URI响应请求,但请求者应继续使用原有位置来进行以后的请求。

C: 状态码404表示服务器拒绝处理客户端的请求。

D: 状态码500表示服务器发生错误,无法处理客户端的请求。 3. http://www.tesst.com/该地址访问服务端口号是多少?(C)。

A: 3306 B: 23 C: 80 D: 21

4. HTTP请求行位于请求消息的第一行,它不包含哪几个部分?(C)

A: 请求方式 B:资源路径 C: 请求来源 D: 使用的HTTP协议版本 5. HTTP请求消息中,最常使用的请求方式是(D)。

A: POST和HEAD方式 B: GET和HEAD方式

C: HEAD和OPTIONS方式 D: POST和GET方式

四、简答题

1. 请简单概括HTTP协议的主要特点。 1、支持客户/服务器模式。

2、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议

简单,使得HTTP服务器的程序规模小,因而通信速度很快。

3、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

4、无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

5、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。

第8章 PHP与Web页面交互

习题

一、填空题

1. 【strip_tags()】函数用于去除字符串中的HTML和PHP标记。

1. 【htmlentities()】函数可以将HTML和PHP标记转换成字符,以文本的形式输出。。 2. 【 isset()】函数用于检测变量是否具有值,包括0、FALSE或者一个空字串,但不能

是NULL。

3. 【empty()】函数用于检测变量是否具有空值,包括空字串、0、null或false。 2. 【is_numeric()】函数用于检测变量是否是数字或数字字符串。 二、判断题

1. PHP是一种运行在服务器端的语言,为了方便进行用户交互,通常和HTML结合使

用。(√)

2. 服务器将获取到的静态资源通过HTTP请求发送到浏览器端。(×) 3. 请求PHP文件,Apache会将请求交给PHP模块处理,结果以HTML形式返回给Apache。

(√)

4. 表单由表单标签和表单元素两部分组成。(√)

5. 用户通过表单提交的数据,PHP后台程序可以直接访问并使用。(×) 三、选择题

1. 以下数据使用isset()函数检测,返回false的是(D)。

A: 0 B: false C: ‘’ D: NULL

2. 以下关于浏览器请求服务器过程说法错误的是(C)。

A: 浏览器是通过URL地址来访问服务器的。 B: 数组在传输过程中需要遵循HTTP协议。

C:当数据传输到Web服务器时,Web服务器自己会对数据进行处理。 D: 处理好的数据以HTML形式返回给浏览器。 3. Form标签中“name”属性、“method”属性、“action”属性和“enctype”属性的

作用分别是(A)。

A: 设置表单名称;设置表单提交方式;设置接收数据路径;设置提交数据的编码

格式。

B: 设置表单提交方式;设置提交数据的编码格式;设置表单名称;设置接收数据路径。

C: 设置表单名称;设置接收数据路径;设置表单提交方式;设置提交数据的编码格式。

D:设置表单名称;设置提交数据的编码格式;设置接收数据路径;设置表单提交方式。

4. 标记type属性有多种值,其中text、checkbox、password、radio分别代表(C)。

A: 文本框、密码框、复选框、单选按钮 B: 密码框、文本框、单选按钮、复选框 C: 文本框、复选框、密码框、单选按钮 D:密码框、复选框、文本框、单选按钮

5. 以下关于GET方式提交和POST方式提交数据说法错误的是(C)。

A: get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。

B: post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

C: get安全性非常低,post安全性较高。而且post的执行效率也比get好。

D: 在FORM提交的时候,如果不指定Method,则默认为GET请求,Form中提交的数据将会附加在url之后,以?分开与url分开。

四、简答题

1. 请简要介绍GET与POST的区别?

1. get是从服务器上获取数据,post是向服务器传送数据。

2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。

5. get安全性非常低,post安全性较高。但是GET执行效率却比Post方法好。

第9章 PHP会话技术

习题

一、填空题

1. 在实际开发中,注销功能是通过删除【session】和cookie实现的。

2. 在实际开发中,可以通过设置【cookie】的有效期来实现用户7天免登录的功能。。 1. 执行【session_destroy() 】函数可以同时删除session数据和文件。 3. PHP中session的设置和读取都是由超全局数组【$_SESSION[] 】来完成。。

4. 从session中获取数据,需要使用【session_start() 】函数开启session。。 二、判断题

1. 若要存储从session中获取的数据只能是数组或基本数据类型。(×) 2. PHP中session支持任意类型的数据。(×) 3. 由于$_SESSION是超全局数组,所以数组内每个元素可以对应多个session数据。(×) 4. 在PHP中,必须使用超全局数组$_SESSION[]向session添加数据。(√) 5. 在调用session_start()前不能有任何输出,包括空格和空行,否则会报错。(√) 三、选择题

1. PHP可以利用(D)配置项实现自动开启session的机制。

A: session_auto B: session_start

C: session_auto_start D: session.auto_start 2. 下列选项中不可以保存到session里的数据类型是(C)。

A: 字符串 B: 数组 C: 对象 D:布尔类型 3. 下列选项中(A)是将数据存储在浏览器端的会话技术,并以此来跟踪和识别用户。

A: Cookie B: Session C: Request D: A和B

4. 用户第一次访问服务器时,服务器会在响应消息中增加(C)头字段,并将信息发

送给浏览器。 A: SetCookie B: Cookie C: Set-Cookie D: 以上答案都不对

5. 在PHP程序开发中,通过(A)函数创建Cookie。

A: setcookie() B: set_cookie() C: cookie()

D:以上答案都不对

四、简答题

1. 在项目开发中,经常使用isset()函数和empty()函数来判断变量,请简述他们的区别。 isset()判断一个变量是否已经被设置并且不为null,如果是则返回true,否则返回false。 empty()判断一个变量,非空非零返回false。否则返回true。''、0、'0'、null、false、array()、以及没有任何属性的对象都被认为是空的。

第10章 正则表达式

习题

一、填空题

1. 正则表达式的英文简称为【RegExp】。

1. 【 PCRE 】是兼容Perl正则表达式的一套正则引擎。