第一篇: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 调用一次会把指针指向的记录放入数据,并指向下一条记录
======================....回复的太多了,总结又需较多时间,暂时总结到此,总结未完,待续.....
第二篇:党员学习总结经验
米小五数练习题(10.14)姓名:
一、神机妙算我能行!
1、口算
3.6÷1.2=0.72÷0.9=2.6÷13=4.8÷0.4=4.4÷4=0.78÷6=7.2÷0.4=1÷0.25=5.5÷11=3÷8=0.18÷2=5.6÷1.4=
2、竖式计算1.25÷0.25=78.6÷11=5.63÷7.8=
(商用循环小数表示)(得数保留两位小数)
3、脱式计算
9.07-22.78÷3.41.05÷0.7+18.921.5÷0.05×0.96
0.4×5÷0.4×5(7.5-2.3×0.4)÷0.0
1二、我能填对。
1、在计算19.76÷0.26时,应将其看作()÷()来计算,运用的是()的性质。
2、两个因数的积是0.45,其中的一个因数是1.2,另一个因数是()。
3、9.9898…是一个()小数,用简便方法记作()。
4、20÷3的商用简便方法记作(),精确到百分位是()。
5、在圆圈里填上“>”、“<”或“=”。
1.377÷0.99 ○ 1.3371.377÷1.9 ○ 1.3772.85÷0.6 ○ 2.85×0.63.76×0.8 ○ 0.8×3.766、1.2×()=0.48()×0.34=2.3827.6=()×0.467、在 3.8484,3.8484……,3.8444……,3.84235……中,有限小数有();无限小数的有();循环小数的有()。
8、李老师给参加数学竞赛获奖的同学买奖品,用148.8元买了12枝钢笔,每枝钢笔是()元。
9、一个两位小数,保留一位小数后是1.5,这个两位小数最大是(),最小是(),他们相差()。
10、把一个数的小数点向右移动两位后,得到的数比原来大19.8,原来的数是()。
三、我是法官
1、无限小数大于有限小数。()
2、4.83÷0.7、48.3÷7和483 ÷70三个算式的商相等。()
3、3.54545454的循环节是54。()
4、近似数4.2与4.20的大小相等,精确的程度也相同。()
5、在有余数的除法算式里,被除数和除数都扩大100倍,商不变,余数也不变。()
四、文字题排兵布阵。
①12.5乘0.32除以0.4的商,②7.5减去1.5的差去除8.1加上积是多少?4.5的和,商是多少?
五、我能解答生活问题的。
1、一台收割机7小时收割小麦3.5公顷。平均收割每公顷小麦要多少小时?平均每小时收割小麦多少公顷?
2、一个汽油桶最多能装汽油5.7千克,要装70千克汽油需要多少个这样的汽油桶?
3、每千克大豆2.8元,李大妈带了104元,最多能买多少千克大豆?
4、3台同样的抽水机,4小时可以浇地2.4公顷。1台抽水机每小时可以浇地多少公顷?
第三篇:php学习总结
调试/*………*/ //…….#..........插入时考虑清楚字段类型避免插入后出现缺值,乱码
@ 屏蔽错误or die 条件显示
以前学习php类的总结:
1.php中不能重载,但是能用子类覆盖父类的方法名称来实现新的重载
1.1 在子类中调用父类的覆盖部分可以使用 父类名称::方法名称();
2.final 只能定义类和方法,不能使用final定义成员属性,因为final是常量的意思,在php里定义常量使用的是define函数
2.1 final关键字标记的类不能被继承
2.2 final关键字标记的方法不能被子类重写
3.const是一个定义常量的关键字,在php中定义常量使用的是define()函数,但是在类里定义常量使用的是“const” 这个关键字
3.1在程序中不能修改它的值。
3.2 访问const 修饰的成员属性要使用类名,在本类的方法里使用“self”关键字,但不使用“$”符号,也不能使用对象来访问。
4.static关键字可以描述类中的成员属性和成员方法
4.1 static 的成员属于类,而不属于任何对象,4.2 static的成员是在类第一次被加载的时候分配的空间,其他类无法访问的,只对类的实例共享,能一定程度对类该成员形成保护
4.3 静态成员放到了“初始化静态段”,在类第一次加载的时候放入的,可以让堆内存里的每个对象共享。所以在静态方法里,可以使用这个方法所在的类的“类名”,也可以使用“self”来访问其他静态成员。“self”代表这个静态方法所在的类。
4.3.1 在类里的静态方法是不能访问类的非静态成员的。
4.3.2 在类的非静态方法里可以访问静态成员:”self:成员属性“;
4.4类的静态变量,非常类似全局变量,能够被所有类的实例共享,类的静态方法也是一样,类似于全局函数。
4.5 在类内函数访问静态变量时前面加self::静态函数
4.6 静态变量可以在类外直接访问,访问方法是类名::静态变量
4.7 静态函数可以在类外直接访问,访问方式是类名::静态函数
4.8 在类内静态函数访问另一个静态函数时使用 类名::静态函数名
4.8.1 静态函数在类内访问静态变量时,访问方式是类名::静态变量
4.8.2 静态函数在类内访问静态变量时,访问方式除了是类名::静态变量外,还可以使用self::静态变量
4.9 在类内静态函数访问另一个静态函数时除了使用 类名::静态函数名外,还可以使用self::静态函数名,也可以直接调用静态函数
4.10 静态函数内不能访问非静态变量
4.11 在类内静态函数不能使用$this->非静态函数名访问非静态函数,可以使用self::非静态函数名
4.12
5.类里的”$this“,在php里面提供了一个本对象的引用$this,每个对象里面都有一个对象的引用$this来代表这个对象,完成对象内部成员的调用。
5.1 $this 就是对象内部代表这个对象的引用。
6.类里“self”,self 和$this相似,只不过self是代表这个静态方法所在的类,所以在静态方法里,可以使用这个方法所在的类的”类名“,也可以使用“self”来访问其他的静态成员,通常使用后者”self::成员属性“。
7.类里”__“开头的函数名
7.1类里”__“开头的函数名都是在某一时刻不同情况下自动调用执行的方法。
7.2__toString()方法也是自动被调用,是直接输出对象引用时自动调用的。比如“$p = new Person()”,直接用echo输出$p会产生错误,如果在类里定义了__toString()方法,再用echo直接输出对象引用的时候就不会产生错误了
8.对象串行化
8.1 __sleep()方法,在对象串行化的时候,会调用一个__sleep()方法来完成一些睡前的事情,__sleep()函数不接受任何参数,但返回一个数组,其中包含需要串行化的属性。未被包含的属性降在串行化时被忽略,如果没有__sleep()方法,php将保存所以属性.8.2 __wakeup()方法,在重新醒来时,即由二进制串重新组成一个对象的时候,则会自动调用__wakeup(),做一些对象醒来就要做的动作。
8.3 有时你可能需要一个对象在反串行化后立即执行.为了这样的目的,PHP会自动寻找__sleep和__wakeup方法.9.protected 成员能被同个类中的所有方法和继承出的类的中所有方法访问到,不能被父类的实例直接访问。protected and public 可以动态绑定
10.private 大部分private属性仍然可以被外部代码共享.解决方法是用一对public方法,一个是get(获取属性的值),另一个是set(设置属性的值).10.1private 不可以动态绑定。Private成员只存在于它们所在的类内部.不像public和protected成员那样,PHP模拟静态绑定.10.2 什么时候用到private?private成员只有当你不想让子类继承改变或特殊化父类的行为时才用到,这种情况比你想像的要少,通常来说,一个好的对象分层结构应当允许绝大多数功能被子类特殊化,改进,或改变—这是面向对象编程的基础之一。一定的情况下需要private方法或变量,例如当你确信你不想允许子类改变父类中的某个特定的部份。
11.抽象类:抽象方法是就像子类中一般的方法的占位符(占个地方但不起作用),它与一般方法不同—没有任何代码.如果类中存在一个或更多抽象方法, 那么这个类就成了抽象类.你不能实例化抽象类.你必须继承它们,然后实例化子类.你也可以把抽象类看成是子类的一个模板.如果你覆写所有的抽象方法, 子类就变成一个普通的类.如果没有覆写所有方法, 子类仍是抽象的.如果一个类中中包含有抽象方法(哪怕只有一个), 你必须声明这个类是抽象的, 在class关键字前加上abstract.声明抽象方法的语法与声明一般方法不同.抽象方法的没有像一般方法那样包含在大括号{}中的主体部份,并用分号;来结束.12.接口:如果你建立了一个只有抽象方法的类,你就定义了一个接口(interface).为了说明这种情况, PHP中有interface 和implements关键字.你可以用interface来代替抽象类, 用implements来代替extends来说明你的类定义或使用一个接口.例如, 你可以写一个myClass implements myIterface.这两种方法可以依个人偏爱来选择.12.1 如果接口中出现非抽象方法.会报错
12.2 接口中的方法默认是public 型的.其它类型的修饰符,不能修饰接口中的抽象方法.12.3 即使接口中所有的方法都是抽象方法,也不能使用 abstract 修饰.也不能用final
12.4 即使接口中所有的方法都是抽象方法,在接口中,可以声明静态方法.12.5 在接口中可以有常量,e.g.:
interfaceUser{
const MAX_GRADE = 99;
function getName();
function setName($_name);
}
?>
13.Namespace关键字给一块代码命名.在这个代码块外部,脚本必须用操作符::加上命名空间的名称来引用这个代码块.引用静态的类成员也是用相同的方法.在命名空间内代码不需要声明命名空间, 它本身就是默认的.这种方法比添加前缀的方法好.你的代码可由此变得更加紧凑和可读.你可能想知道是否可以建立分层的(嵌套的)命名空间.答案是不可以.但你可以在命名空间名称后加上冒号, 你可以再次调用在名称中不包含冒号的变量,函数和类.命名空间允许存在冒号,只要不是第一个字符和最后一个字符或接着另一个冒号.命名空间的名称中的冒号对于PHP来说没有任何意义, 但如果你用他们来区分逻辑上的区块, 他们可以很好地说明你的代码中的父子(parent-child)关系.14.__toString()打印对象会调用它的__toString方法.15.不能实例化的类
//
//当__construct()为public时可以实例化
class A{
private function __construct(){}
}
$a = new A();//fail
?>
15.1
//static的方法留给外部访问.
class A{
private function __construct(){}
static function getClassA(){
return “这里是后门,可以通过这里进入类内部..”;
}
}
echo A::getClassA();
?>
15.2
//不能用new实例化的类.
//static的方法留给外部访问.
//在方法内部返回实例.
class A{
private function __construct(){
echo “this is construction
n”;
}
static function getClassA(){
$a = new A();
return $a;
}
}
// 看到这里确实返回的是 A 的实例.但不是同一个对象.$a1 = A::getClassA();
$a2 = A::getClassA();
echo “$a1 的类是 ”.get_class($a1).“ , $a2 是 ”.get_class($a1);if($a1 === $a2){
echo “
$a1 $a2 指向同一对象.”;
}else{
echo “
$a1 $a2 不是一个对象.”;
}
//this is construction
//this is construction
//$a1 的类是 A , $a2 是 A
//$a1 $a2 不是一个对象.?>
15.3
//不能用new实例化的类.
//static的方法留给外部访问.
//在方法内部返回实例.
//定义静态属性保证这个实例能被静态方法调用.
//增加判断部分.
class A{
private static $a = null;
private function __construct(){}
static function getClassA(){
if(null == self::$a){
self::$a = new A();
}
return self::$a;
}
}
// 看到这里确实返回的是 A 的实例.但不是同一个对象.$a1 = A::getClassA();
$a2 = A::getClassA();
echo “$a1 的类是 ”.get_class($a1).“ , $a2 是 ”.get_class($a1);if($a1 === $a2){
echo “
$a1 $a2 指向同一对象.”;
}else{
echo “
$a1 $a2 不是一个对象.”;
}
//$a1 的类是 A , $a2 是 A
//$a1 $a2 指向同一对象.?>
第四篇: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参考手册介绍
html css 试题
试题1: 请编写如下一个html页面
试题2: 请使用(div+css)盒子经典布局编写如下界面
试题3: 请使用div+css 盒子布局模式编写sohu首页面布局
javascript试题
试题1:
请按下面内容编写一个页面,点页面里的“全选”时,能选中或清除上面的所有水果。选择你喜欢的水果:
□苹果
□桔子
□香蕉
□葡萄
□桃子
□全选/全不选
试题2: 编写一个简单显示和隐藏效果如图所示:
试题3:
请使用javascript相关函数对一个url【http://www.xiexiebang.com
(2)PHP函数
PHP函数的基本介绍、如何自定义函数、PHP页面调用函数、require()、require_once()、include()和include_once()的区别、从内存分析PHP函数调用过程、函数使用需要注意的细节、函数值传递和引用传递的区别。
函数是我们PHP编程最重要的一个知识点,也是进行模块化编程的基础,掌握好函数可以提高代码的复用性、可读性和可维护性。
(3)数组、排序和查找
数组的基本概念、数组的引用方式、数组引用陷阱、与PHP数组相关的函数(count、is_array、print_r、explode等)遍历数组的三种方式、删除数组元素和数组运算符、数组使用细节总结、内部排序法和外部排序法介绍、冒泡排序和快速排序、选择排序和插入排序、顺序查找和二分查找、二维数组介绍和使用。
依据我的经验,我们去找工作的时候,一定会一道关于排序和查询的题,最常见的问题是: 请你写出冒泡排序法,并使用二分查找来查找一个数。在项目开发中,数组是衔接变量和函数的重要数据类型,在MVC开发中,往往需在控制器中将数组分配给视图去显示,在算法中,数组也是变化最为灵活的。
(4)面向对象编程
面向对象编程基本概念、类和对象的关系、如何定义类、成员属性(变量)、如何创建对象实例及如何访问对象属性、对象在内存中存在的形式、栈、堆、全局区、常量区和代码区的关系、成员方法(函数)及使用细节、构造方法(函数)、默认构造方法(函数)、this的基本概念和使用、析构方法(函数)、PHP的对象垃圾回收器、静态变量(类变量)的概念和使用、静态方法(类方法)的概念和使用、面向对象编程的三大特征介绍、面向对象编程-封装、面向对象编程-继承、面向对象编程-多态、访问控制修饰符(public、protected、private)、方法重载(overload)、方法重写(override)、方法重载(overload)和方法重写(override)的比较、PHP魔术函数(__set __get __construct __destruct __call等)和魔术常量(__LINE__ , __FILE__ ,__FUNCTION__等)、抽象类(abstract class)的概念和使用接口(interface)的概念和使用、接口编程和继承的区别、关键字final的使用、常量关键字const 的作用和使用注意事项、面向对象编程之强大的反射机制、面向对象编程之动态代理。
面向对象编程已经成为PHP编程的主流,面向对象编程让程序变得更加强大和灵活,更利于项目的开发和维护。关于面向对象编程 在 传智播客 php视频教程 61讲-78讲,看看什么才是真正的PHP面向对象思想,什么是真正的OOP。
(5)错误处理和异常处理
错误处理的基本概念、PHP处理错误的三种方式介绍、使用die()进程错误处理、自定义错误和错误触发器、错误日志、错误级别介绍、PHP异常处理的基本介绍、PHP异常处理(try throw catch)、自定义异常、如何设置顶级异常处理器、异常使用的规则。
在编写php web 应用程序时,错误处理是一个重要的部分。如果您的代码缺少错误检测编码,那么程序看上去很不专业,也为安全风险敞开了大门。所以大家需要清楚在PHP编程中如何对错误和异常进行有效的处理,从而保证程序的安全和健壮。
(6)预定义超全局数组
预定义超全局数组-基本概念、$_GET、$_POST、$_REQUEST、$_SERVER、$_ENV、$_FILES、$_COOKIE、$_SESSION、$GLOBALS、$_GET 使用陷阱(sql注入和中文乱码问题)(7)cookie和session 什么是会话、cookie的基本概念、cookie的curd操作、cookie重要的api介绍、cookie运行原理图解、cookie的实际运用(显示用户上次访问时间、显示用户上次浏览过的商品、)、cookie使用的注意事项、session数据存放的位置和形式、session的curd操作、session运行原理图解、session实际案例-在线购物车、IE禁用Cookie后的session处理方案、session防止用户非法入侵、session配合验证码使用、php.ini 中关于cookie和session配置说明(重点,难点)、自定义会话处理器、Session和Cookie的区别。
Cookie(小甜饼)是客户端技术,服务器把每个用户的数据以cookie的形式 写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。
Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用 户的浏览器创建一个其独享的session文件,当用户再去访问服务器中的其它web资源时,可以从用户各自的session 中取出数据为用户服务。Session和Cookie是最重要的用户行为跟踪技术,尤其是电商,sns项目中运用广泛,因此是我们学习的重点和难点,也是面试笔试的重点。关于cookie和session大家可以参考传智播客 php视频教程 114-121讲
(8)PHP文件编程
文件及文件编程是什么、文件流的基本概念、文件的操作方式、PHP文件编程函数汇总介绍、最常用的13个文件函数、使用文件完成网站计数器、文件上传下载操作-mini版音乐共享网、无限级文件扫描器。
文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保存视频 ,声音...,本章节要求同学们掌握文件的各种操作和上传下载,动态创建和删除目录,文件和无限级扫描文件等,掌握好这些知识点对我们项目开发非常重要。
(9)PHP绘图技术
php绘图坐标系、绘图步骤说明、绘图快速入门、绘图最常用的函数、绘图技术的实际运用—人口分布饼状统计图、专业的报表开发--JpGraph、JpGraph的安装和配置、JpGraph实际应用-网民支持情况统计图、JpGraph中文乱码处理。
如果你使用过财务软件,那你一定看见过各种对财务数据进行统计和分析 的图表,可能是表格,也可能是饼状图、柱状图、曲线图..,简单的说,就是使用图表动态显示数据。而这些图表的显 示都要使用到PHP的绘图技术,绘图技术要求熟练的使用PHP的绘图函数完成项目的需求。能开发一些统计图,非常有实用价值。比如:
推荐学习传智播客 php视频教程
下载地址 http://php.itcast.cn
如何检验自己的学习效果,看看下面的一些面试题 , 看看能完成多少? 如果能正确完成80%,说明这个阶段学到还不错。
练习1: 简述echo(),print(),print_r()的区别?
练习2: 说出PHP的超级全局变量数组,共九种
练习3: 如何在一个php函数中使用具有全局属性的变量,说出两种方式
练习4: 三个小题: 4.1.跳水比赛,8个评委打分。运动员的成绩是8个成绩取掉一个最高分,去掉一个最低分,剩下的6个分数的平均分就是最后得分。使用一维数组实现打分功能。
4.2.请把打最高分的评委和最低分的评委找出来。4.3.找出最佳评委和最差评委。最佳评委就是打分和最后得分最接近的评委。最差评委就是打分和最后得分相差最大的。
练习5: include和require都能把另外一个文件包含到当前文件中,他们有什么区别?Include和include_once又有什么区别?
练习6: 写出一个能创建多级目录的PHP函数
练习7: 写出一个函数,能递归列出某个目录下的所有文件夹和文件名.练习8: 在防止SQL注入的时候,通、会把单引号、双引号等转义,需要用到哪个函数 练习9: 写出插入排序法和快速排序法代码
练习10: 二分查找的原理是什么? 请写出二分查找函数
练习11: 写出php的public、protected、private三种访问控制模式的区别 练习12: 请写出一个完整的严谨的单例模式
练习13: __set 和 __get 魔术函数是做什么的,在什么时候被触发 练习14: 如何防止对象克隆, 对象克隆会复制 static属性吗? 练习15: 说说strip_tags的作用和用法?
练习16: 如果需要原样输出用户输入的内容,在数据入库前,要用哪个函数处理? 练习17: 如何控制多个进程去并发删除,插入和更新数据库的某张表? 练习18: PHP的安全模式和非安全模式的区别
(转载请注明 传智播客php学院-韩顺平http://php.itcast.cn)
当然,有些学员还给我写信说这样一个问题,如何去检验第一阶段: PHP前端网页开发基础,学习情况, 学习到怎样的水平,再学习下一个阶段比较好, 大家可以做一下下面的测试题,如果你能将下面的题都完成,说明你已经有一定基础,可以学习下一个阶段:(注意:需要独立完成)
html css 试题
试题1:
请编写如下一个html页面
试题2:
请使用(div+css)盒子经典布局编写如下界面
试题3:
请使用div+css 盒子布局模式编写sohu首页面布局
javascript试题
试题1:
请按下面内容编写一个页面,点页面里的“全选”时,能选中或清除上面的所有水果。选择你喜欢的水果:
□苹果
□桔子
□香蕉
□葡萄
□桃子
□全选/全不选
试题2: 编写一个简单显示和隐藏效果如图所示:
试题3:
请使用javascript相关函数对一个url 【http://www.xiexiebang.com、163.com 等)
练习5:计算一个js整数数组的所有元素的和。
练习6:计算一个字符串 , 比如 “abcde中国,你好hello,12345”, 中含有多少个中文字,多少个字母,多少个数字?
练习7:将一个js字符串数组的元素的顺序进行反转。(“3”,“a”,“8”,“haha”)转换为(“haha”,“8”,“a”,“3”)。提示:第i个和第length-i-1个进行交换。不能使用js的reverse()函数。
好,现在我们谈谈第二个阶段应该学习什么内容,如何学习的问题。第二阶段 PHP核心编程
(1)PHP基本语法加强 Apache--directory配置段、一个IP和多个域名绑定的两种方式、HTTP协议入门介绍、Apache逻辑组件介绍、Apache生命周期、PHP运行之时序图、PHP数据类型加强、PHP各种运算符加强、PHP三大流程控制加强、位运算(按位与、按位或、按位异或、按位非、位左移、位右移)、二进制(原码、反码、补码)、PHP版本在线贷款计算器。
这里,我想说明一下: PHP基础语法看似简单,但是也不可大意,有些PHP程序员工作了2年,对PHP运行的原理都不清楚,对Apache的一些重要调优配置也不了解,这样的程序员,在公司是不行的,很难得到提升。所以就一直是一个编码工人,薪资也上不去。
比如面试中经常问到: PHP中一个整数的范围是多少, 小数的能表示的范围是多少? 再比如如何在Apache中配置一个404错误页面,如何给一个主机配置一个域名,具体怎样操作?这样一些基础的问题都必须在这个阶段搞定。推荐大家看 传智播客php视频教程 23讲-45讲 ,有详细到位的讲解。
(2)PHP函数
PHP函数的基本介绍、如何自定义函数、PHP页面调用函数、require()、require_once()、include()和include_once()的区别、从内存分析PHP函数调用过程、函数使用需要注意的细节、函数值传递和引用传递的区别。
函数是我们PHP编程最重要的一个知识点,也是进行模块化编程的基础,掌握好函数可以提高代码的复用性、可读性和可维护性。
(3)数组、排序和查找 数组的基本概念、数组的引用方式、数组引用陷阱、与PHP数组相关的函数(count、is_array、print_r、explode等)遍历数组的三种方式、删除数组元素和数组运算符、数组使用细节总结、内部排序法和外部排序法介绍、冒泡排序和快速排序、选择排序和插入排序、顺序查找和二分查找、二维数组介绍和使用。依据我的经验,我们去找工作的时候,一定会一道关于排序和查询的题,最常见的问题是: 请你写出冒泡排序法,并使用二分查找来查找一个数。在项目开发中,数组是衔接变量和函数的重要数据类型,在MVC开发中,往往需在控制器中将数组分配给视图去显示,在算法中,数组也是变化最为灵活的。
(4)面向对象编程
面向对象编程基本概念、类和对象的关系、如何定义类、成员属性(变量)、如何创建对象实例及如何访问对象属性、对象在内存中存在的形式、栈、堆、全局区、常量区和代码区的关系、成员方法(函数)及使用细节、构造方法(函数)、默认构造方法(函数)、this的基本概念和使用、析构方法(函数)、PHP的对象垃圾回收器、静态变量(类变量)的概念和使用、静态方法(类方法)的概念和使用、面向对象编程的三大特征介绍、面向对象编程-封装、面向对象编程-继承、面向对象编程-多态、访问控制修饰符(public、protected、private)、方法重载(overload)、方法重写(override)、方法重载(overload)和方法重写(override)的比较、PHP魔术函数(__set __get __construct __destruct __call等)和魔术常量(__LINE__ , __FILE__ ,__FUNCTION__等)、抽象类(abstract class)的概念和使用接口(interface)的概念和使用、接口编程和继承的区别、关键字final的使用、常量关键字const 的作用和使用注意事项、面向对象编程之强大的反射机制、面向对象编程之动态代理。
面向对象编程已经成为PHP编程的主流,面向对象编程让程序变得更加强大和灵活,更利于项目的开发和维护。关于面向对象编程 在 传智播客 php视频教程 61讲-78讲,看看什么才是真正的PHP面向对象思想,什么是真正的OOP。
(5)错误处理和异常处理
错误处理的基本概念、PHP处理错误的三种方式介绍、使用die()进程错误处理、自定义错误和错误触发器、错误日志、错误级别介绍、PHP异常处理的基本介绍、PHP异常处理(try throw catch)、自定义异常、如何设置顶级异常处理器、异常使用的规则。
在编写php web 应用程序时,错误处理是一个重要的部分。如果您的代码缺少错误检测编码,那么程序看上去很不专业,也为安全风险敞开了大门。所以大家需要清楚在PHP编程中如何对错误和异常进行有效的处理,从而保证程序的安全和健壮。
(6)预定义超全局数组
预定义超全局数组-基本概念、$_GET、$_POST、$_REQUEST、$_SERVER、$_ENV、$_FILES、$_COOKIE、$_SESSION、$GLOBALS、$_GET 使用陷阱(sql注入和中文乱码问题)
(7)cookie和session 什么是会话、cookie的基本概念、cookie的curd操作、cookie重要的api介绍、cookie运行原理图解、cookie的实际运用(显示用户上次访问时间、显示用户上次浏览过的商品、)、cookie使用的注意事项、session数据存放的位置和形式、session的curd操作、session运行原理图解、session实际案例-在线购物车、IE禁用Cookie后的session处理方案、session防止用户非法入侵、session配合验证码使用、php.ini 中关于cookie和session配置说明(重点,难点)、自定义会话处理器、Session和Cookie的区别。
Cookie(小甜饼)是客户端技术,服务器把每个用户的数据以cookie的形式 写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用 户的浏览器创建一个其独享的session文件,当用户再去访问服务器中的其它web资源时,可以从用户各自的session 中取出数据为用户服务。Session和Cookie是最重要的用户行为跟踪技术,尤其是电商,sns项目中运用广泛,因此是我们学习的重点和难点,也是面试笔试的重点。关于cookie和session大家可以参考传智播客 php视频教程 114-121讲
(8)PHP文件编程
文件及文件编程是什么、文件流的基本概念、文件的操作方式、PHP文件编程函数汇总介绍、最常用的13个文件函数、使用文件完成网站计数器、文件上传下载操作-mini版音乐共享网、无限级文件扫描器。
文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保存视频 ,声音...,本章节要求同学们掌握文件的各种操作和上传下载,动态创建和删除目录,文件和无限级扫描文件等,掌握好这些知识点对我们项目开发非常重要。
(9)PHP绘图技术
php绘图坐标系、绘图步骤说明、绘图快速入门、绘图最常用的函数、绘图技术的实际运用—人口分布饼状统计图、专业的报表开发--JpGraph、JpGraph的安装和配置、JpGraph实际应用-网民支持情况统计图、JpGraph中文乱码处理。如果你使用过财务软件,那你一定看见过各种对财务数据进行统计和分析 的图表,可能是表格,也可能是饼状图、柱状图、曲线图..,简单的说,就是使用图表动态显示数据。而这些图表的显 示都要使用到PHP的绘图技术,绘图技术要求熟练的使用PHP的绘图函数完成项目的需求。能开发一些统计图,非常有实用价值。比如:
如何检验自己的学习效果,看看下面的一些面试题 , 看看能完成多少? 如果能正确完成80%,说明这个阶段学到还不错。
练习1: 简述echo(),print(),print_r()的区别?
练习2: 说出PHP的超级全局变量数组,共九种
练习3: 如何在一个php函数中使用具有全局属性的变量,说出两种方式
练习4: 三个小题: 4.1.跳水比赛,8个评委打分。运动员的成绩是8个成绩取掉一个最高分,去掉一个最低分,剩下的6个分数的平均分就是最后得分。使用一维数组实现打分功能。4.2.请把打最高分的评委和最低分的评委找出来。
4.3.找出最佳评委和最差评委。最佳评委就是打分和最后得分最接近的评委。最差评委就是打分和最后得分相差最大的。
练习5: include和require都能把另外一个文件包含到当前文件中,他们有什么区别?Include和include_once又有什么区别?
练习6: 写出一个能创建多级目录的PHP函数
练习7: 写出一个函数,能递归列出某个目录下的所有文件夹和文件名.练习8: 在防止SQL注入的时候,通、会把单引号、双引号等转义,需要用到哪个函数
练习9: 写出插入排序法和快速排序法代码
练习10: 二分查找的原理是什么? 请写出二分查找函数
练习11: 写出php的public、protected、private三种访问控制模式的区别
练习12: 请写出一个完整的严谨的单例模式
练习13: __set 和 __get 魔术函数是做什么的,在什么时候被触发
练习14: 如何防止对象克隆, 对象克隆会复制 static属性吗?
练习15: 说说strip_tags的作用和用法?
练习16: 如果需要原样输出用户输入的内容,在数据入库前,要用哪个函数处理?
练习17: 如何控制多个进程去并发删除,插入和更新数据库的某张表?
练习18: PHP的安全模式和非安全模式的区别