第一篇:php项目开发经验-2个月学习php经历
php项目开发经验-2个月学习php经历.txt人生在世,难敌宿命,沉沦其中。我不爱风尘,似被前缘误!我只为我最爱的人流泪“我会学着放弃你,是因为我太爱你”赢了你,我可以放弃整个世界 php项目开发经验-2个月学习php经历
@author xueyms@since 2020-04-0
2两个月前我几乎完全不会PHP,糊里糊涂的接手了一个手机网游门户的开发,临阵退缩是没有用的,IT技术作为现今工业社会里更新换代最快的一个行业,任凭谁也不可能全部掌握所有的技术,作为一个优秀的开发人员,随时学习新技术并且尽可能的最快掌握应用到项目中,便是必需具备的基本素质。手艺总是多少有一些相通之处和可继承的,琵琶弹得好、学习吉他自然也不难,从钢琴到小提琴跨度是有点大、但是音乐知识也是一样的。快速的学习需要扎实的基础、准确找出共通点的敏锐触角、举一反三的领悟力、锲而不舍寻求答案的毅力。PHP是一只两栖动物,自5.0之后开始支持面向对象,但是同时兼容面向过程的编写。这特性使得PHP容易上手却难以精通。两个月里摸着石头过河,边学边做到最后项目完成,不敢以高手自居,多少掌握了一些PHP学习和编程的小窍门,为了避免如我一样的初学者或项目需求者多走弯路,特地整理一下心得与同行分享。
与国外和香港台湾地区相比,国内的PHP程序员相对较少,精通的更是为数不多。一个很大的原因是中国大陆是盗版大国,大伙都爱用Windows系统,用.Net写程序,用Sqlserver存储数据,反正微软不会上门开罚单。两个月的项目开发周期过去了一个月,后台系统我都几乎写完了还没有招到我满意的PHP程序员。有两个合符标准的,一个因为个性有点特立独行,另外一个要价7K超出公司预算被我Pass掉,导致最后我招了一个编程基础比较好的小伙子进来自己带。当我还在上一家公司做.Net项目时,有个同事曾经对我说他羡慕PHP程序员的薪资高,我当时不以为然,那种程序写得好薪资不高?现在倒有了更深的认识,PHP程序员薪资高,不是因为PHP程序写得好,一般而言相关的技能也得有相当的程度。随便在网上找一份PHP程序员的招聘一起看看。
1.两年以上PHP开发经验,熟悉smarty模板,熟悉Linux+Apache+Mysql+PHP架构,熟悉Zend架构者尤好;
2.具有MySQL索引优化、查询优化和存储优化经验、PHP缓存技术、静态化设计方面的经验;
3.熟悉Discuz!,UCHome产品,能做二次开发;
这也是我招人时所要求的。一般而言,PHP的项目不会用微软的windows平台和sqlserver数据库,除非公司足够大,不然linux服务器的管理便是由PHP程序员兼顾。Mysql数据库可不像微软的Sqlserver那么傻瓜化,配置与调优是一门大学问。稍为正式一点的门户都会搭配着上Discuz论坛或者UCHome,整合与二次开发便是无可避免的事情。当一个PHP程序员具备这些技能时,薪资高些也在情理之中。各位学PHP的朋友们,看到这里应该对自己的学习计划有比较清楚的认知了吧。
作为开源世界的前锋,PHP有很多优秀的架构,如Zend, CakePhp, Symfony等等。其实一直到项目开发完毕我才开始接触Zend,一个成熟的架构的确能减轻不少工作量,但是如果在项目启动时就贸然上这么大的框架,而本身对PHP技术没有很深了解的情况下是很难驾驭的了的,势必引发出各种各样棘手的问题。正是考虑到了这一点,所以我步步为营的往前走。先是采用最原始的方式,将PHP与HTML代码混合着编码,做完两个模块后对PHP语法和她的一些特性、怪癖有了清楚的了解后开始加入Smarty模板,将业务逻辑与用户界面进行分离。再做几个模块,搞清楚了Smarty的那套语法、标签和组件后再把数据处理剥离出来形成了MVC架构,一点一点的完善,既保证了开发的进度,也使得系统越来越合理,一直到最后稳当的完成了整个项目,没出大乱子。到了最后再回头来看Zend,CakePhp这些觉得也没什么神秘。
因为开源,所以PHP是个没爹没娘的孩子,不像微软,无论是平台、语言、数据库、IDE全都打上Microsoft Family的烙印,大多数东西微软都封装好了,你不知道为什么,也不需要知道为什么,使用就是了。初用PHP难免会遇到一些奇奇怪怪的问题,例如相对路径与绝对路径、数据库乱码、header跳转报错、session也报错等等。也正是因为开源,所以网络上几乎都有相应的解决方案,只要你真正了解问题的根源,自然能搜索得到相对应的答案。
WEB开发很大的比重是在于数据库的操纵,SQL便是程序员必需精通的一门技能。相信有不少PHP程序员如我一样,是从微软开发平台转行过来的。用习惯了Sqlserver,改用Mysql时也会遇到一些小挫折,毕竟是两家公司不一样的产品。最明显的就是指定行数的关键字top变成了limit,连接符+在mysql中变成了concat等。这些倒都是小事情,记得就是了。有一种SQL却让我有点不爽。如:select * from table1 where userid in(select top 10 id from table2 order by createdate desc),在mysql里因为不支持而改成了select * from table1 where userid in(select id from(select id from table2 order by createDate desc limit
10)as t)order by createDate desc。这样累赘的语义很让我烦恼总记不住,最后准备了一本mysql cookbook。
PHP是一门优秀的开发语言,以后将会继续大放异彩,特别是在facebook推出hithopPHP之后。真要说到项目开发,那是一本书的篇幅也讲不完的事情。以上只是总结我在开发过程中的感受和经验,真正的应用还得在项目实战中自由发挥。一千个人眼里有一千个哈姆雷特,一千个人就有一千种解决问题的办法,但终究只有一种方法是最有效直接的,编程、就是不停的寻找那种方法。
PHP书籍推荐:
书店里PHP开发的书籍非常多,但真正优秀的却很少。下面推举几本我看过、用过、感觉不错的书供学习参考。
《大道PHP-LAMP+Zend+开源框架整合》 电子工业出版社
这本书是我接手PHP项目后买的第一本PHP书籍,99块人民币,846页的篇幅,一直到项目完成我都没完整看完,只是把它当工具书查阅使用。这本书不太适合初学者,里面有不少案例是错误的,必需修改后才能运行。Zend框架也介绍得太过简单。
《PHP Web2.0开发实战》 人民邮电出版社
老外写的一本书,技术含量比较高,详细介绍Zend架构与Smarty配合使用,所用的案例也是循序渐进步步深入。适合有基础的PHP程序员阅读。
《PHP经典实例》 中国电力出版社
也是翻译自国外,O'Reiely出版社的技术类书籍就好比中华书局的史学书,商务印书馆的学术书一样,绝对可以放心。
第二篇:php学习经验
感觉要学好一门编程语言,关键要有对比,多看看别人的代码,多写代码。
我的php是自学的,所以自学的角度来说。
一开始都是看书,在选书的过程中要根据自己的情况,没有其他编程语言基础的,或者只有大学那点C语言基础的,都建议看国内的作者写的书,国外写的一般涉及面较广,相对难度较大,不太适合初学者。
这个过程,可以看视频加快学习进度,推荐的入门视频lamp兄弟连和php100的视频。一定要经常上机练手。多多加相关的qq群,去那些php技术的论坛,去看看他们具体谈论的话题,看看自己薄弱之处。当你看完一本,这种书的内容的结尾一般都是用smarty或者zend framework做一个小项目,就不必在看书了(国内的书都是一个套路,选一本最厚的看,其他的以后都不用再看了),可以先做一个功能齐全的新闻发布系统,在实践中巩固书本的知识。
基本的语法和面向对象的内容看完之后。必须了解一下php的框架,建议初学者先看看thinkphp,比较简单,之后再看看zend framework这类比较大的框架。这一步不需要精通而只要初步了解一下MVC和面向对象编程的知识,之后在学习中,不断加深。
当这些做完,你对做web开发有个大概印象时。就要看看别人成熟的产品,php的cms,像dede,ecshop,wordpress,joomla,drupal等,抓一个自己认为适合自己现阶段最适合学的,也是视频和书本辅助的,好像joomla,drupal都有实体书了。学习别人的cms,能让学到很多技术和思想。但了解别人代码的意思,这个过程是痛苦的,特别是对很多基础不牢的,但这是必须的,和别人对比才能进步。php就是这样,你没有任何技巧都可以搭建出一个网站。但这样的网站根本就不可作为商业用途。
之后,就要在工作岗位上提升自己,所以先要找一份工作岗位,现在php还是很热门的(以后我不敢保证),这种工作挺好找的,只要你能做出一个像样的新闻发布系统,一般的小公司会要的,但是工资比较低,可能是一千来块。要学好一门语言,都是要有相应的工作经验的,不太可能是自己在家捣鼓捣鼓就能成为高手的。在工作中跟别人相互学习,在工作不断地解决问题,能让你不断进步。
在学习中一些问题也要加强,你可以看看招聘中他们所写的要求比如缓存,静态化等等,比较实用的东西,你是否掌握。还有php高手都是多面手,linux,mysql甚至其他语言都是精通的。
第三篇:PHP学习推荐
PHP学习推荐
PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,现在越来越多的人加入到了php的大家庭中,其中很多人只是浅尝辄止,为何会如此呢?最大的障碍莫过于学习的过程枯燥乏味,从而失去学习兴趣,那么小编就自己的经验来说说怎样学习php吧。
学习方法之视频教程
相对于读书来说,我更喜欢看视频学习,可能小编我对影像比文字记忆更加深刻吧。每看完一个视频教程,我都会闭上眼睛休息一会,把刚才看的内容消化消化,然后再开始练习刚才看过的内容,尽可能不边看边做,因为这样学的快同样也忘得快,如果实在想不起来的话,可以再打开教程看一遍,切记不可囫囵吞枣,好高骛远,要稳扎稳打,把你看过的教程切切实实的记在心里。只有一步一个脚印,你的学习之路才能走的更远,否则的话,你走的越远,越会觉的道路是如此艰辛,或许你就会放弃学习。那么都有哪些视频教程能帮我们学习php呢,小编我就为大家介绍几个吧:
php100
LAMP兄弟连
李炎恢的php
学习方法之看书: 1.《PHP与MySQL程序设计(第4版)》
2.《PHP Web 2.0 开发实战》
3.《PHP高级程序设计:模式、框架与测试》
4.《PHP 5 高级应用开发实践》
5.《细说php》
学习过程中不要死记语法,要多动手,多练习,当你遇到问题的时候,首先尝试自己解决。多用google,baidu,网络是一个大知识库,是最好的老师,你遇到的问题,别人也遇到过,多去搜索一下吧.多阅读别人的源代码,要看懂别人的设计思想,不断融为已用.
第四篇:PHP学习总结的一些经验
其实我也是一样很新的新手,上PHP100学习视频并在论坛里学习其实也就是一个月前的事.虽然早在8月份花过一个星期看完w3school的PHP教 程,了解了许多PHP知识.但始终是缺乏一个与众多朋友学习和交流的平台,所以一下子在几周后又把PHP又忘得七七八八了,有幸在10月尾了解到了 PHP100视频和论坛,不仅可以系统地学习下PHP,更可以和很多朋友一起学习成长这更是件好事.在php100视频中学到了许多,而 论坛中看帖和回帖也更让我巩固了学习的知识并让我学到了很多,这不仅不会让我又把PHP知识快速忘记(因为工作中用是ASP,而PHP不会在工作中用,所 以忘得快),反而在取得进步的同时,我也能帮助一些人,这也是一样是学习胜利的过程,我喜欢并享受其中.以下是我上论坛以来的回复总结,将不断持续总结.希望有利于与我一样的新手一起成长.首先来个,题前语:
任何的学习,都需要自信,再新的新手也应该抛弃心中的恐惧,有时关键在于你心平下来,踏入学习后,你将慢慢化开迷惑,获得信心,赢取自信!让我们共同进步.----------
==========
Undefined index问题
是运行的时候出现类似:Notice: Undefined index: action in D:wampwww.xiexiebang.com/read.php?tid=15843&page=1#138857
是 php 配置的事情
这个错误是因为 php 页面中的变量没有初始化而导致的!
可以通过设置PHP.INI搞好,也可以在变量前面 加上一个 @ 就可以解决这个地方的问题了!
如这里指示第三行
Notice: Undefined index: action in D:wampwww.xiexiebang.com/2009/0617/6463.php
----------
==========
遇到页面明确提示你错误的,并有显示如何错的,建议先把语句复制部分重点词句或全部语句到百度或
google,更快速让在你排查错误找到方法.其实这也是一种高效有益的学习方法,毕竟在工作中,遇到些没
遇过的新问题,有时都需要借助网上的资源给自己灵感和助力,本人就一天不下几十次用百度搜索.如程序中遇到诸如含提示:
显示的错误为:
Parse error: syntax error, unexpected $end in D:wampwwwtestlist.php on line 21
那么你就可以把 syntax error, unexpected $end 作为关键词到百度搜索,那么你即刻可以得到助力甚
至答案.以上那句举例的错误是因为:短标签没有打开.解决方法是打开php.ini把short_open_tag短标签
打开,重启服务即可
----------
==========
提示的时候,有时顺便把代码帖上帖子是必要的,这样才能快速地在别人的帮助下问题得到解决
----------
==========
对单引号和双引号有迷惑,大家可以看这篇文章解下惑:
----------
==========
在调试程序时,经常要用到echo 你的sql语句来,检查传值后,sql变成了什么样的情况,以便排查错误.----------
==========
向数据库表插入数据
INSERT INTO 语句用于向数据库表添加新纪录。
语法
INSERT INTO table_name VALUES(value1, value2,....)--此种情况是需要按你表中所有字段的顺
序全部value填上!
您还可以规定希望在其中插入数据的列:
INSERT INTO table_name(column1, column2,...)VALUES(value1, value2,....)--张老师明确建
议用此种方法!
----------
==========
有人疑惑,$_POST或$GET取得时的引号问题:其实是要不要引号,单引号或双引号都是没有问题的.如, $_POST[name]和$_POST['name']和$_POST[“name”]都是在windows下一样的,在linux下情况具体没
用过,不知道,还望高手告知.----------
==========
针对多数人的留言板课程中许多问题(如,insert into存不进数据问题)的总结:
1.检查你数据库表的结构是否正确,如id是否设为自增
2.insert into语句是否正确,如单词是否正确,insert into...values...3.是否将`(反斜点,在1键前)号和'(引号)是否使用位置正确,正确的方法是:`应该放在表和字段边,而'
是放在字符串型(或者说是非数字型)的值边上
4.检查你的各语句,是否在结尾将分号(;)正确结束
5.检查你的submit表单项的name值是否你判断的取值,如
value=“提交”>时,你的判断是否提交应是 if($_POST[submit]){...};当你的是
type=“submit” name=“othername” value=“提交”>时,你的判断是否提交应是 if($_POST
[othername]){...}
6.检查你的$_POST是否大写,当你写成$_post是不行的,因为$_GET,$_POST等,都是PHP系统环境的硬性用
法
7.用echo 输出你的sql检查传值情况
8.检查你的短标签是否打开
9.注意你的method是get还是post
10.检查你的表单相关单词或引号是否书写正确.很多莫名其妙的问题,多是细节问题.要小心查对才能看
出来.----------
sql语句中表名和字段名在windows的情况下是可以不加小斜点(键盘左上角1键前的那个点键)的,但听说
在linux中不加会引出些问题,兼容的写法是有小斜点.如:windows下:
$sql=“select * from table ”
和
$sql=“select * from `table` ”
是效果一样的再次重点提示是:
`(反斜点,在1键前)号和'(引号)使用位置,正确的方法是:`应该放在表和字段边,而'是放在字符串型(或
者说是非数字型)的值边
----------
==========
php100第十三讲的page.PHP中的翻页显示信息有问题的解决方法:
因为页面没有取值到URL值的page,所以在函数内的page会一直是1,所以会一直是第1页的数据
解决方法,就是在调用函数前把page取得就好了!函数里会把取到的page值作为全局变量传入函数使用的了!
include(“conn.php”);
$nump=mysql_query(“SELECT * FROM `test`”);
$total=mysql_num_rows($nump);
//调用pageft(),每页显示10条信息(使用默认的20时,可以省略此参数),使用本页URL(默认,所
以省略掉)。
$page=$_GET[page];//------------------------------在这里加入这行就OK了!
_PAGEFT($total,5);
echo $pagenav;
$query=mysql_query(“SELECT * FROM `test` limit $firstcount,$displaypg ”);//---见下面 while($row=mysql_fetch_array($query)){
echo “
”.$row[name].“ | ”.$row[sex];
}
以上的调试方法,其实你只要学下张老师把sql语句输出来看下,你就知道是怎么回事了!
echo $sql=“SELECT * FROM `test` limit $firstcount,$displaypg ”;
$result=mysql_query($sql);
----------
==========
分页有问题的朋友,不妨看下如下:
关于分页,这有一篇论坛朋友的学习心得,学习下,你也许有所得:
另有一篇本人转发上去的分页讲解:
----------
==========
关于:mysql_fetch_array
mysql_fetch_array 调用一次会把指针指向的记录放入数据,并指向下一条记录
======================....回复的太多了,总结又需较多时间,暂时总结到此,总结未完,待续.....
第五篇:开发技术(PHP)测试题
1、简述静态网页和动态网页的区别,从文件扩展名、使用技术、表现形式、执行位置等进行阐述
答案:
2、简述如何搭建PHP程序的环境
答案:
3、简述PHP语言中,流程控制的分类,及几种代表语句。
答案:
4、简述表单提交过程中,get和post方式的区别
答案:
5、简述session机制的原理
答案:
6、如何在php程序中启动session
答案:
7、代码如下
$arr=array(“I”,“am”,“a”,“student”);
$whole=implode(_,$arr);
echo $whole;
代码输出的结果是:
答案:
8、代码如下
$color=imagecolorallocate($img,0,0,255);
代码实现的功能:
答案:
9、代码如下:
echo “今天是 ”.date(Y年n月j日);
$w=date(w);
$week=array(星期日,星期一,星期二,星期三,星期四,星期五,星期六);
echo $week[$w];
代码实现的功能:
输出今天的日期和是周几
输出的内容是(按考试的日期来输出即可):
2021/12/21 星期二
答案:
10、代码如下:
$pageno=isset($_GET[pageno])?$_GET[pageno]:1;
代码实现的功能:
答案:
11、php的源码是
A、开放的
B、封闭的C、需购买的D、完全不可见的答案: A12、静态网页的执行在浏览器端完成,动态网页的执行在服务器端完成答案: 正确
13、动态页面中不可以出现html、css和javaScript的代码
答案: 错误
14、服务器收到客户发出的静态页面请求之后,只把该页面文件发送给客户浏览器来执行
答案: 错误
15、存放在任意文件夹中的php文件都可以通过localhost/…方式来执行
答案: 错误
16、搭建PHP环境时要先安装php,再安装apache服务器
答案: 错误
17、apache服务默认占用80号端口,不可更改
答案: 错误
18、下面哪项不属于静态网页设计中使用的核心技术
A、HTML
B、DreamWeaver
C、CSS
D、Javascript
答案: B19、下面哪组中列举的技术都属于动态网页设计时使用的核心技术
A、ASP、JSP、SSP
B、JSP、XHTML、PHP
C、JSP、PHP、ASP
D、PHP、ASP、Javascript
答案: C20、动态网页与静态网页的本质区别是
A、静态页面运行后能够查看所有的源代码,动态页面中动态部分源代码则无法查看
B、静态网页任何时候运行内容都相同,动态页面则不然
C、动态页面是在服务器端执行的,而静态页面是在浏览器端执行的D、静态页面中可以包含各种小动画,动态页面不可以
答案: C21、下面各种说法中错误的是
A、在动态页面中可以包含大量的静态代码
B、使用静态页面技术可以实现动态变化的时钟效果
C、动态页面的运行过程通常会包含在服务器端的执行过程和在浏览器端的执行过程两个阶段
D、浏览器请求执行一个静态页面时,服务器先把页面文件执行完毕,然后将结果传递到浏览器端显示
答案: D22、下面关于PHP的说法错误的是
A、PHP是一种服务器端的脚本
B、PHP程序可以在任意环境中执行
C、在PHP文件中可以包含任意的HTML代码和样式的应用
D、使用PHP可以实现注册、登录、在线投票、访客计数等动态页面中需要的各种功能
答案: B23、若PHP文件中包含html代码,下面描述中正确的是
A、服务器将整个php文件发送给浏览器执行
B、服务器将所有代码执行后将结果送给浏览器
C、服务器执行html代码后将执行结果和php代码一起送给浏览器
D、服务器执行php代码后,将指向结果和html代码一起送给浏览器
答案: D24、下面哪组是PHP支持的服务器环境
A、Apache和pws
B、Apache、IIS和pws
C、Apache和IIS
D、只有Apache
答案: C25、若是系统中已经存在了IIS服务,且占用了80端口号,则下面说法正确的是
A、Apache能够成功安装,但是无法启用,只需要修改端口号即可启用
B、Apache无法完成安装过程
C、Apache能够成功安装,且能正常启用
D、以上说法都不正确
答案: A26、下面关于Apache主目录说法错误的是
A、安装Apache之后,必须要将页面文件放在其主目录下才能正常运行
B、安装Apache之后,系统会给其指定默认的主目录
C、Apache的主目录不能随意修改
D、用户可以根据需要修改Apache主目录
答案: C27、搭建apache web服务器(使用phpstduy)之后,默认情况下运行文件时的localhost对应哪个文件夹?
A、apache
B、htdocs
C、,需要使用哪个代码实现
A、onsubmit=“window.open(zhuce.html);”
B、onsubmit=“window.open(zhuce.html);”
C、onclick=“window.open(zhuce.html);”
D、onclick=“window.open(zhuce.html);”
答案: C185、要在表单文本框中显示数组元素$row[title]的值,则代码是:
答案:
echo $row[title];;
解析:
186、判断表单文本框age的数据是否提交到服务器端的方法是______
A、if($_POST[age]==)
B、if(isset($_POST[age]))
C、if($_POST[age]=)
D、if(isset($_FILES[age]))
答案: A187、代码if(document.getElementById(jieshao).value=)用于判断id为jieshao的表单元素值是否为空
答案: 错误
188、使用函数move_uploaded_file()时只需提供一个参数
答案: 错误
189、表单中有文件域元素时,下面哪个说法错误________
A、中method属性取值可以是get
B、中enctype属性取值为multipart/form-data
C、文件域元素需要设置name属性
D、可以有多个文件域元素
答案: A190、存在表单文件域元素fname,系统数组$_FILES[fname]中的内容不包括___
A、上传文件的名称
B、上传文件的类型
C、上传文件的大小
D、上传文件的内容
答案: D191、进行文件上传时,文件相关信息存放在系统数组____中
答案: $_FILES;
192、以下系统数组中可以使用两个下标的是___________
A、$_POST
B、$_GET
C、$_FILES
D、$_SESSION
答案: C193、函数move_uploaded_file()只需要一个参数()
答案: 错误
194、若存在文件域元素名称为f1,$_FILES[‘F1’]是一个数组()
答案: 正确
195、进行文件上传时,需要在form标记中设置属性enctype的取值是
A、multipart/form-data
B、text/plain
C、application/x-www-form-urlencoded
D、以上都不是
答案: A196、关于函数move_uploaded_file(),下列说法错误的是
A、该函数需要指定两个参数
B、第二个参数需要同时指定文件存储的位置和要保存文件的名称
C、第一个参数需要指定文件的临时存储位置和临时名称
D、以上说法都是错误的答案: D197、关于系统数组$_FILES,第二个下标不包含下面哪一项
A、tmpname
B、size
C、name
D、type
答案: A198、关于多文件上传功能中,下面说法错误的是
A、文件域元素中必须添加multiple属性
B、可以同时选择不同文件夹中的文件
C、$_FILES[file1][name]是一个数组
D、文件域元素的name属性取值必须带有[]
答案: B199、$_FILES{“touxiang”][“type”]作用是
A、获取上传文件的类型
B、获取上传文件的大小
C、获取上传文件的名称
D、获取上传文件的临时存储信息
答案: A200、完成文件上传功能,在标签中使用哪个属性设置编码_____
A、enctype
B、name
C、ID
D、action
答案: A201、在A网页上创建了一个Session变量:$____SESSION[“user”]=“张三”,在B网页上要输出这个Session变量的值,应使用。
答案: echo $_SESSION[“user”];
202、在同一个网站的不同文件之间传递数据的机制是__________
A、session
B、cookie
C、application
D、post
答案: A203、下面哪个系统数组不用于接收表单提交的数据________
A、$_SESSION
B、$_FILES
C、$_POST
D、$_GET
答案: A204、关于session机制的描述中正确的是_____
A、用户的session都保存在浏览器端
B、一旦某个页面向session中提供了数据,当前网站中在该页面之后执行的页面文件都可以根据需要从中获取该数据
C、不同网站的页面之间可以通过session机制来传递数据
D、session中存放的是所有用户的共用数据
答案: B205、点击超链接可以向服务器提交数据()
答案: 正确
206、链接打开文件count.php时使用键名uname提交数据“liuhong”,超链接href属性的取值为
A、href=“count.php”?uname=“liuhong”
B、href=“count.php?uname:liuhong”
C、href=“count.php?uname=liuhong”
D、href=“count.php”?uname:“liuhong”
答案: C207、关于session机制的描述中错误的是
A、服务器可通过sessionID来区分各个不同用户
B、一旦某个页面向session管道中提供了数据,当前网站中在该页面之后执行的页面文件都可以根据需要从管道中获取该数据
C、不同网站的页面之间可以通过session机制来传递数据
D、要提供数据的页面和要获取数据的页面都要启用session
答案: C208、下面说法中错误的是
A、变量有生命周期
B、session有生命周期
C、session产生于用户开始访问一个网站时
D、一个session中可以保存多个用户的信息
答案: D209、在PHP中,有两个函数与cookie操作有关。其中____用来设置cookie变量内容, ____用来读取cookie变量内容。
答案: setcookie;$_COOKIE;
210、能够在同一网站不同页面之间传递数据的机制是____,在程序代码开始处启用该机制时需要使用的代码是____
答案: session;session_start();
211、Session可以在不同网站的页面之间传递数据()
答案: 错误
212、mysql数据库中查询数据用select语句
答案: 正确
213、以下说法不正确的是
A、模糊查询使用的关键字是like
B、排序查询asc是降序,desc是升序
C、分页查询使用的关键字是limit
D、mysql如果只安装服务不安装界面也可以正常使用
答案: B214、在用浏览器查看网页时出现404错误可能的原因是
A、页面源代码错误
B、文件不存在C、与数据库连接错误
D、权限不足
答案: B215、安装MySQL数据库之后,默认使用的是根用户root
答案: 正确
216、卸载MySQL时,说法正确的是
A、只要在控制面板中卸载软件即可
B、在控制面板中卸载软件后,清理完注册表信息即可
C、先删除系统盘符下的文件夹,再清理注册表信息,最后卸载软件
D、先在控制面板中卸载软件,然后清理注册表信息,最后删除系统盘符下的相关文件夹
答案: D217、MySQL服务器有一个超级管理员账号,其名称是()
A、admin
B、root
C、sa
D、Administrator
答案: B218、mysqli中返回结果集中记录总数的函数是()
A、fetch_row
B、fetch_assoc
C、num_rows
D、field_count
答案: C219、访问mysql数据库时,用来选择并打开指定数据库的方法是_________
A、mysqli_query()
B、mysqli_connect()
C、mysqli_select_db()
D、mysqli_num_rows()
答案: C220、若是在某次访问数据库的操作中,需要用到如下四个函数
①mysqli_num_rows()②mysqli_select_db()、③mysqli_connet()④mysqli_query()
则使用这四个函数的顺序是___________
A、①②③④
B、②③①④
C、③②④①
D、③④①②
答案: C221、PHP中选择打开数据库的方法是______
A、mysqli_connect()
B、mysqli_select_db()
C、mysqli_query()
D、mysqli_num_rows()
答案: B222、查询用户名和密码信息是否存在时,关于查询结果记录集$result的说法错误的是____
A、该记录集中的记录数只能是0或者1
B、该记录集中的记录数无法预知
C、若记录数是0,说明用户输入的账号或者密码信息有误
D、若记录数是1,说明用户输入的账号和密码信息正确
答案: B223、访问mysql数据库时,从查询结果记录集中获取一条记录的方法是
A、mysql_num_rows()
B、mysql_select_db()
C、mysql_fetch_array()
D、mysql_fetch_Array()
答案: C224、函数mysql_fetch_array()的作用是
A、获取一个数组中的元素
B、从查询结果记录集中获取一条记录并以对象方式存储访问
C、从查询结果记录集中获取一条记录并以数组方式存储访问
D、以上说法都不正确
答案: C225、下面操作MySQL数据库的方法中,哪个返回值可能是false
A、mysql_fetch_array()
B、mysql_select_db()
C、mysql_num_rows()
D、mysql_fetch_Array()
答案: A226、查询数据表时,限制获取查询结果中序号为6、7、8的记录,需要使用的子句是
A、limit 6,8
B、limit 6,2
C、from 6 to 8
D、start 6 to 8
答案: B227、MySQL数据库操作中,Create New Schema命令的作用是
A、创建数据表
B、创建数据表中一个列名
C、创建数据库
D、以上说法都不正确
答案: C228、关于数据库的导入操作,下列说法中错误的是
A、使用的命令是Restore
B、导入过程中可以更改原来数据库的名称
C、导入过程中必须要选择忽略错误选项,否则导入无法完成D、若安装数据库时选择的字符集是GBK,则导入过程中,必须要选择字符集是GBK
答案: D229、关于PHP访问MySQL数据库的各种方法,下列说法中正确的是
A、在使用mysql_connect()连接数据库成功之后,就可以直接访问数据表完成各种操作
B、mysql_num_rows()的作用是获取查询结果记录集中记录的个数,其参数可以省略
C、mysql_select_db()的作用是选择打开指定的数据库,可以只指定一个参数
D、mysql_query()函数只能执行查询语句,不能执行插入、删除、更新语句
答案: C230、假设用户在登录时,输入的用户名信息保存在变量$emailaddr中,密码保存在变量$psd中,查询数据表usermsg中是否存在该用户名和密码信息,需要定义的查询语句是
A、select * from usermsg where emailaddr=$emailaddr or psd=$psd
B、select * from usermsg where emailaddr=$emailaddr and psd=$psd
C、select * from usermsg where emailaddr=$emailaddr and psd=$psd
D、select * from usermsg where emailaddr=$emailaddr or psd=$psd
答案: B231、查询用户名和密码信息是否存在时,关于查询结果记录集$result的说法错误的是
A、该记录集中的记录数只能是0或者1
B、该记录集中的记录数无法预知
C、若记录数是0,说明用户输入的账号或者密码信息有误
D、若记录数是1,说明用户输入的账号和密码信息正确
答案: B232、要获取记录集$result中的记录数,需要使用代码
A、count($result)
B、mysql_num_row($result)
C、mysql_nums_rows($result)
D、mysql_num_rows($result)
答案: D233、MySQL中使用Select语句查询时,要限制返回的行数可使用____子句。
答案: limit;
234、访问mysql数据库时,从查询结果记录集中获取一条记录的方法是__________
A、mysqli_num_rows()
B、mysqli_select_db()
C、mysqli_fetch_array()
D、mysqli_query()
答案: C235、在mysql Administrator界面下,Create New Schema命令的作用是_____
A、创建数据库
B、创建数据表中一个列名
C、创建数据表
D、以上说法都不正确
答案: A236、关于数据库的导入操作,下列说法中错误的是_____
A、使用的命令是Restore
B、导入过程中可以更改原来数据库的名称
C、导入过程中必须要选择忽略错误选项,否则导入无法完成D、使用的命令是Backup
答案: D237、假设用户在登录时,输入的用户名信息保存在变量$uname中,密码保存在变量$psd中,查询数据表user中是否存在该用户名和密码信息,需要定义的查询语句是_______
A、select * from user where uname=$uname or psd=$psd
B、select * from user where uname=$uname and psd=$psd
C、select * from user where uname=$uname and psd=$psd
D、select * from user where uname=$uname or psd=$psd
答案: B238、要获取记录集$result中的记录数,需要使用代码______
A、count($result)
B、mysqli_num_row($result)
C、mysqli_nums_rows($result)
D、mysqli_num_rows($result)
答案: D239、MySQL数据库的根用户是____
答案: root;
240、下面的程序使用mysqli内置函数连接数据库,并将表lyb中的记录显示在网页中,将1234处填写完整
241、下面的程序用来删除记录,当用户单击“删除”超链接时,记录将被删除,将下面1234处的代码补充完整
1.isset 2$_GET[“id”] 3.$id 4.$sql,$conn242、下面的程序是获取到下面表单发送来的信息并按以下格式输出
将下面的服务器端的程序补充完整,在1234处填写合适的代码
$user=$_POST[“user”];
$pwd=$_POST[“pwd”];
$addr=$_POST[“addr”];
echo $user.“您好,您住在”.$addr.”,您的密码是“.$pwd;
243、1)写一个函数,函数名为Trimtit,有两个参数$tit,$n,函数的功能是根据指定的长度截取原始字符串。
如果原始字符串$tit的长度大于指定长度$n,则返回从左端截取的字符串并加“…”
如果长度未超过指定长度,则返回原始字符串。
2)并编写测试代码,使用函数实现字符串的截取。
答案:
function Trimtit($tit,$n){if(strlen($tit)>$n){
echo ”...“.substr($tit,0,$n);
}
else
echo $tit;
}
Trimtit(”tit664848",5);
解析:
244、编写一个函数,输入是5个分数,输出是去掉一个最高分和去掉一个最低分后的平均分。
答案:
function num($a,$b,$c,$d,$e){
$s=array($a,$b,$c,$d,$e);
$max=0;
$min=$s[0];
$abc=0;
for($i=0;$i if($max<=$s[$i]){ $max=$s[$i]; } if($min>=$s[$i]){ $min=$s[$i]; } $abc+=$s[$i]; } $abc=($abc-$min-$max)/5; echo $abc; } num(11,22,33,44,55); 解析: 245、使用for循环,完成1+2+3+4+…+100求和过程,使用变量$sum表示结果并输出。 答案: $num=0; for($i=1;$i<=100;$i++){ $num+=$i; } echo $num; imagecreatetruecolor 输出真彩色图像 246、下面哪一个不是函数imagettftext()的参数_______ A、输出字符的坐标 B、输出字符的角度 C、字号 D、加粗输出的字符 答案: D247、创建真彩色图像,使用的函数是____ 答案: imagecreatetruecolor(); 248、代码imagecolorallocate($img1,255,255,0)的作用是创建____色 答案: 黄; 249、imageline()函数能够在画布中画线,需要四个参数() 答案: 错误 250、用于创建一幅真彩色图像的函数是 A、imagecreatetruecolor() B、imagecreate() C、imagecolorallocate() D、imagefill() 答案: A251、用于为指定图像分配颜色的函数是 A、imagecreatetruecolor() B、imagecreate() C、imagecolorallocate() D、imagefill() 答案: C252、下面哪一个不是函数imagettftext()的参数 A、字号 B、输出字符的角度 C、输出字符的颜色 D、加粗输出的字符 答案: D253、函数imagesetpixel()的作用是 A、在指定位置画一条直线 B、在指定位置设置一个单一像素 C、使用指定的颜色填充指定的区域 D、新建一个基于调色板的图像 答案: B254、若$color表示蓝色,代码imagefill($img,0,0,$color)作用是 A、设置画布$img中坐标0,0的点为蓝色 B、为画布填充蓝色 C、在画布中画蓝色直线 D、输出画布 答案: B255、用于为画布分配颜色的函数是_____ A、imagefill() B、imagecreate() C、imagecolorallocate() D、imagecolor() 答案: D