PHP小项目实例实训试题及详细答案_第1页
PHP小项目实例实训试题及详细答案_第2页
PHP小项目实例实训试题及详细答案_第3页
PHP小项目实例实训试题及详细答案_第4页
PHP小项目实例实训试题及详细答案_第5页
已阅读5页,还剩3页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PHP小项目实例实训试题及详细答案适用场景:PHP入门实训、课后小项目考核、基础开发能力检测考试说明:满分100分,答题时间90分钟,重点考察基础语法、文件操作、表单处理、数据库基础、简单项目逻辑开发一、单项选择题(每题3分,共10题,30分)1.在PHP中,以下变量命名规范正确的是?()A.$123name  B.$name_123  C.$name-123  D.$class2.PHP中用来接收GET表单传递参数的超全局变量是?()A.$_POST  B.$_GET  C.$_SERVER  D.$_SESSION3.以下哪个函数可以实现PHP字符串反转?()A.strrev()  B.strlen()  C.strpos()  D.substr()4.PHP中开启session会话,必须在页面最开头执行的函数是?()A.session_end()  B.session_start()  C.session_destroy()  D.isset()5.连接MySQL数据库的PHP基础函数是?()A.mysql_connect()  B.mysqli_connect()  C.db_connect()  D.sql_connect()6.以下代码输出结果是?<?phpecho3+2*5;?>A.25  B.13  C.10  D.157.PHP中删除数组最后一个元素的函数是?()A.array_pop()  B.array_shift()  C.array_unshift()  D.array_push()8.以下不属于PHP注释方式的是?()A.//单行注释  B./*多行注释*/  C.#单行注释  D.<!--注释-->9.PHP中判断变量是否为空的函数是?()A.empty()  B.is_null()  C.isset()  D.defined()10.读取本地文本文件全部内容的PHP函数是?()A.file_put_contents()  B.file_get_contents()  C.fopen()  D.fwrite()二、填空题(每空2分,共10空,20分)1.PHP脚本的文件后缀名默认是________。2.PHP中定义常量的函数是________,判断常量是否存在的函数是________。3.关闭数据库连接的mysqli函数是________。4.表单提交方式中,________方式参数显示在地址栏,________方式参数隐藏传输。5.PHP中循环遍历数组的专用循环是________。6.销毁单个session变量的方式是________,销毁全部session的函数是________。7.去除字符串两端空格的函数是________。三、简答题(每题5分,共2题,10分)1.简述GET和POST表单提交方式的核心区别(写出3点即可)。2.简述PHP中include和require的区别。四、实操编程题(共2题,40分)题目1:简易用户登录验证页面(20分)开发一个PHP单页登录功能,需求如下:1.页面包含用户名、密码输入框,提交按钮,表单以POST方式提交;2.预设固定账号:admin,密码:123456;3.为空判断:用户名或密码为空,提示“账号和密码不能为空”;4.验证成功提示“登录成功”,失败提示“账号或密码错误”;5.所有提示中文正常显示,无代码报错。题目2:简易文本留言板(20分)开发基于文本文件的简易留言板(无需数据库),需求如下:1.搭建留言输入表单,包含留言内容输入框、提交按钮;2.用户提交留言后,将留言内容+提交时间写入本地msg.txt文件;3.页面顶部展示所有已保存的留言记录,最新留言显示在最上方;4.空留言禁止提交,给出对应提示;5.代码简洁无冗余,运行无报错。详细参考答案及解析一、单项选择题答案及解析1.B解析:PHP变量以$开头,首字符不能是数字,不能包含中划线,class是关键字不能用作变量名,只有$name_123符合规范。2.B解析:$_GET接收地址栏/GET表单参数,$_POST接收POST表单参数,$_SERVER获取服务器信息,$_SESSION获取会话数据。3.A解析:strrev()字符串反转,strlen()获取字符串长度,strpos()查找字符位置,substr()截取字符串。4.B解析:session_start()用于开启会话,必须置于页面最顶部,无任何输出前执行;session_destroy()是销毁会话。5.B解析:mysql_connect()已废弃,PHP现代开发统一使用mysqli_connect()连接MySQL数据库。6.B解析:遵循四则运算优先级,先乘后加,2*5=10,10+3=13。7.A解析:array_pop()删除数组最后一个元素,array_shift()删除第一个元素,array_push()在末尾添加元素。8.D解析:<!---->是HTML注释,PHP注释仅支持//、/**/、#三种方式。9.A解析:empty()判断变量是否为空(空字符串、0、空数组、null都判定为空),isset()判断变量是否存在且不为null。10.B解析:file_get_contents()读取文件全部内容,file_put_contents()写入文件,fopen()打开文件资源。二、填空题答案1.php2.define()、defined()3.mysqli_close()4.GET、POST5.foreach6.unset($_SESSION['变量名'])、session_destroy()7.trim()三、简答题参考答案1.GET与POST的核心区别(1)参数位置:GET参数拼接在URL地址栏中,POST参数放在请求体中,地址栏不可见;(2)数据大小:GET有长度限制,只能传输少量数据;POST无明确限制,可传输大量数据;(3)安全性:GET参数公开,容易被窃取、缓存,安全性低;POST参数隐藏,安全性更高;(4)缓存特性:GET请求会被浏览器缓存,POST不会被主动缓存。(任选3点即可满分)2.include和require的区别(1)报错级别不同:引入文件失败时,include只会抛出警告错误,页面继续运行;require抛出致命错误,页面终止运行;(2)使用场景不同:include适合引入非核心公共文件(如广告、侧边栏),缺失不影响主程序运行;require适合引入核心配置、函数文件,缺失会导致程序无法正常运行;(3)重复引入:两者都支持多次引入文件,可配合include_once、require_once避免重复引入。四、实操编程题参考答案(可直接运行)题目1:简易用户登录验证代码php

<?php

//定义提示信息变量

$tips='';

//判断是否为POST提交

if($_SERVER['REQUEST_METHOD']=='POST'){

//获取表单数据,去除两端空格

$username=trim($_POST['username']);

$pwd=trim($_POST['pwd']);

//空值判断

if(empty($username)||empty($pwd)){

$tips='账号和密码不能为空';

}elseif($username=='admin'&&$pwd=='123456'){

$tips='登录成功';

}else{

$tips='账号或密码错误';

}

}

?>

<!DOCTYPEhtml>

<html>

<head>

<metacharset="utf-8">

<title>用户登录</title>

</head>

<body>

<div>

<pstyle="color:red;"><?phpecho$tips;?></p>

<formmethod="post"action="">

<p>用户名:<inputtype="text"name="username"></p>

<p>密  码:<inputtype="password"name="pwd"></p>

<p><buttontype="submit">登录</button></p>

</form>

</div>

</body>

</html>题目2:简易文本留言板代码php

<?php

$tips='';

$msg_file='msg.txt';//定义留言文件路径

//处理留言提交

if($_SERVER['REQUEST_METHOD']=='POST'){

$content=trim($_POST['content']);

//判断留言是否为空

if(empty($content)){

$tips='留言内容不能为空!';

}else{

//拼接留言内容:时间+留言内容

$msg=date('Y-m-dH:i:s').':'.$content.PHP_EOL;

//写入文件,FILE_APPEND追加内容,不覆盖原有数据

file_put_contents($msg_file,$msg,FILE_APPEND);

$tips='留言成功!';

//页面刷新,防止重复提交

header('location:index.php');

exit;

}

}

//读取所有留言,反转数组实现最新留言置顶

$msg_list=[];

if(file_exists($msg_file)){

$msg_data=file_get_contents($msg_file);

$msg_list=explode(PHP_EOL,$msg_data);

//去除空元素并反转

$msg_list=array_filter($msg_list);

$msg_list=array_reverse($msg_list);

}

?>

<!DOCTYPEhtml>

<html>

<head>

<metacharset="utf-8">

<title>简易留言板</title>

<style>

.box{width:500px;margin:20pxauto;}

.item{padding:10px;border-bottom:1pxsolid#eee;}

</style>

</head>

<body>

<divclass="box">

<pstyle="color:green;"><?phpecho$tips;?></p>

<!--留言表单-->

<formmethod="post"action="">

<p><textareaname="content"rows="5"cols="50"placeholder="请输入留言内容"></textarea></p>

<p><buttontype="submit">提交留言</button></p>

</form>

<h3>留言记录</h3>

<?phpif(!empty($msg_list)):?>

<?phpforeach($msg_listas$v):?>

<divclass="item"><?phpecho$v;?></div>

<?phpendforea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论