WEB前台:
=====================================
*1. HTTP协议是:
一个超文本传输协议,
请求方式:GET和POST
特点:无状态
*2. CSS的选择符的种类:HTML选择符、类选择符、ID选择符
*3. CSS的潜入到HTML中的三种方式:
内联样式表、内嵌样式表、连接一个外部CSS文件
4. HTML中如何使用一个超级链接。
*5. HTML表格标签都哪些,常用属性有哪些如跨行跨列等。。
*6. 在HTML中单选按钮与多选按钮的默认值是使用哪个( )属性指定的
*7. 下拉框<select>的默认中是使用哪个( )属性来指定的。
*8. 在CSS样式表中,设置div层是否隐藏的属性可以是( ).
php复习:
一:php概述
1.1 php基础
php是一种脚本语言,是动态网站设计的主流语言之一.
1.1.1 php入门
php---Hypertext processor(超文本预处理器),是开放源代码的软件,
1.1.2
php基本功能
·是开放源代码的,服务器端的脚本语言.
·独立于操作系统,可以运行在几乎所有系统中.
·支持大部分的服务器,如apache,IIS
·支持大量的数据库
·可以创建图象等
1.2 php的发展
二: php编程初步
2.1 php的三个应用领域:
·服务器端脚本---php分析器,一个web服务器和web浏览器
·创建客户端的GUI应用程序
·命令行脚本编程
2.2 php实例:
<html>
<head>
</head>
<body>
<?php
echo "hello world!";
?>
</body>
</html>
说明: 1:php程序的嵌入方法:
·<?php ... ?>
·<Script language="php"> ... </Script>
·<% ... %> asp的代码方式,必须将asp_tag的设定为on
·<? ... ?> 简短风格: 必须将php.ini文件中short_open_tag设为on,但是容易和html代码混淆.
2.3 程序的注释:
·// 单行注释
·/* */ 多行注释 ---不能嵌套
·# 脚本注释
2.4 php程序的输入和输出
输出:
1):echo函数
·echo "字符串" -----文字描述必须包含在双引号或者单引号之间
·echo 变量或者常数 -----不需要加单引号和双引号
·echo 变量(常数).子符串 -----如果同时显示变量和字符串时,要用"."来连接
2):print
·print "字符串"
·print 变量或者常数
·print 变量(常数).子符串
echo与print的区别
输入:
1):直接在地址栏里面输入
如:http://URL/file?account=lijianhua&password=******&[email protected]
2):由表单获得
三:变量,数据类型,运算符和常量
3.1 变量
*3.1.1 变量的命名规则
·变量名必须以美元符号开始
·可以是字母,数字或者下划线
·不能以数字开头
·最好是有意义的名字
3.1.2 变量声明和初始化
.PHP是属于弱类型变量,不用事先声明,即使声明时也不用对其数据类型进行声明
.使用的时候直接赋值后使用即可
.但最好事先声明
*3.1.3 数据类型:
四个标量:
·字符串:php对字符串的大小没有限制
·整数:可以是正数或者负数
·布尔型:true或者false(0代表假)
·浮点型: 只能包含小数
二个复合:
·数组:可以存储不同类型的值
·对象:包含数据和方法
特殊类型:资源和NULL
3.1.4 变量按引用赋值
默认情况下,每个变量都有自己的值,即在当前的内存中分配了一个区域来存储当前值,如果存储多个
值的相同版本,会引起数据冗余,所以可以采用此方法。
方式:将"&"符号放在变量名前对变量进行引用赋值.
3.1.5 变量的作用域
在程序中,一个变量的作用域决定了其他程序是否能够从父程序或者同一个程序中其它部分访问该变量
变量的作用域也决定了如何系统何时从内存中创建和删除该变量.
分为局部变量和全局变量
在php中,默认下变量是局部的,变量可以声明为全局变量,但是如果在函数外没有给变量赋初值,那 它的作用域仍是局部的.
3.2 运算符
3.2.1 算数运算符
作用: 进行数学运算
+ - * / %
说明:·对于"+"来说,如果是两个数值变量相加,则返回是一个数值数;如果是字符串相加,返回的 结果是二者的连接.如果是字符串和数字相加,则根据具体情况而定.
1)$string1 = "10 percent" + 10; -----20
2)$string1 = "10percent" + 10; -----20
3)$string1 = "percent 10" + 10; -----10
4)$string1 = "percent10" + 10; -----10
即:如果字符串中的数字在前,则数字相加,如果字符串中的数字在后,则只显示数字值
·如果整数和浮点数相加,则值为符点数
3.2.2 赋值运算符
作用:将一个值赋给一个变量
= += -= *= /= %= .=
说明:可以在单个语句中赋值
如:$num1 = ($num2 = 3) + ($num3 = 4);
3.2.3 比较运算符
作用:比较两个表达式的值
== === != < > <= >= ? : >
* 说明三元运算符:1):expresion1?expresion2:expresion3
2):===不但比较两个变量的值,而且还比较两个变量的数据类型
3.2.4 执行运算符
` `
作用:执行系统命令
如:$system_command_result = `ls`;
echo "<pre>".$system_command_result".</pre>";
3.2.5 递增和递减运算符
++ --
作用:自增或者自减一个单位
说明:分为先加(减)或者后加(减)的情况
3.2.6 字符串运算符
. .=
作用:将两个表达式连接成为一个表达式
如:$string1 = "hello";
$string2 = "world";
1): $string3 = $string1.$string2;
2): $string1 .= $string2;
3): $string3 = "10 percent".10
3.3 字符串操作函数
1:substr函数
从一个字符串中提取其中的一部分
语法:string substr(string string,int start,[int length])
从string串中int(0开始)开始取到length(可选)的字符串 如substr("abcdef", 1, -1)是bcde
2: strstr函数
在给定的字符串中寻找待搜索字符串的第一个位置,如果没有找到,则返回false
语法:string strstr(string search_string,string base_string)
如:$string = "hello world" ; $string1 = strstr($string,'l'); --- 返回"llo world"
stristr( str1, str2) 将str2最先出现在str1处起至str1结束的字符串返回 带 I 不区分大小写
3: str_replace函数
在基本字符串中搜索所有待搜索的字符串,并用另一个字符串来取代它们.
语法:string str_replace( “被取代字符串”,“取代字符串”,”来源字符串”)
4: strcmp($str,$str1) 字符串比较:正数表示str大于Str1,零表示相同。
5: strlen($str) 字符串长度
6: trim()去掉头尾空格。rtrim()去掉尾空格、ltrim()去掉头空格
* 7: explode(“;”,$str)拆分字串成数组。
8: implode(“”,$str)合并字串。Join()别名implode()
9: strtolower($str) 全转为小写、strtoupper($str) 全转为大写、
10: ucfirst($str) 符串第一个字符改大写、ucwords($str)每个单词首字母大写。
11: strpos(str,str1)寻找str字符串中str1字符最先出现处(0开始)、
12: strrpos()寻找最后出现的位置、
13: strrchr( )取得某字符最后出现处起的字符串、
14: strrev()颠倒字符串、
* 15: substr取部份字符串、
16: substr_count($str,str1)计算出在$str串中出现str1的次数。
17: addcslashes ( string str, string charlist ) 该字符串在属于参数 charlist 列表中的字符前都加上了反斜线、
18: stripslashes()去掉反斜线字符。
3.4 数据类型的变化
强制类型转换:(bool)(boolean),(int)(integer),(float),(double),(array),(object)
说明:将数值转换为布尔型时,下列情况为false
1):包含0或者为空的字符串
2):整数变量为0
3):包含NULL值的变量
4):包含0元素的数组
5):包含0的对象
3.5 确定和设置变量类型的函数
·settype(变量,数据类型) ---- 将变量类型设成括号中的数据类型(应该将数据类型括上)
·gettype(变量) ---- 获取变量的数据类型,应该用echo显示结果
3.6 常量
说明:1):区分大小写(同变量)
2):命名规则同变量相同
3):默认识情况下,是全局的
语法 :define("常量值","被代替的值",[1])-- 一旦定义了常量就不能更改(字符,布尔型,浮点型, 整型) ,如果有1,说明创建了一个不区分大小写的常量
如: define("CONTENT","hello world")
echo CONTENT;??????????????
3.7 嵌入HTML中的php代码的可选语法
一般用于控制结构
如:<?php if($num >0 && $num < 50): ?>
显示数字
<?php endif; ?>
四:控制结构
4.1 表达式
由操作数,逻辑运算符,运算符组成
4.2 条件语句:
·if(expresion)
{
statment 1;
}
·if(expresion)
{
statment 1;
}
elseif(expresion)
{
statment 2;
}
.....
else
{
statment n;
}
说明:·if语句中只能有一个else语句
·else语句中的代码只能是if条件为假时才可出现,而且必须是if语句中的最后一段
·else语句只能和if同时出现,不能单独出现
·可以有多个else if语句 , else if = elseif
·break和continue语句
break:结束当前循环,并将控制权交给循环语句后的代码
continue:结束本次循环,但会跳过continue后的语句,重新开始循环
·switch语句
switch (variable)
{
case value1:
statment;
...
break;
case value2:
statment;
...
break;
....
default:
statment;
}
说明:case中的值只能是字符,整数,浮点数,不能是数组或者其它值
4.5 条件循环
·for(变量初始化;条件表达式;变量增加)
说明:for循环中的三个部分不用都有值
·while(条件表达式)
{
statment;
变量增值;
}
·while...endwhile
说明:与while基本一样,唯一的区别是不用加{}
·do
{
statment;
变量增值;
}while(条件表达式)
·foreach($array(object) as $var)
{
statment;
}
或者
* foreach() ..........................
·嵌套循环
例如:乘法口诀表
五:数组
5.1 数组简介
数组就是多个变量值的集合,在php中允许存储不同数据类型的值,它是通过"数组名[下标]"来引用的
5.2 数组类型
·枚举数组
下标为整数的数组叫做枚举数组.默认情况下,数组的下标从0开始,并逐渐增加.
·关联数组
数组的下标是字符串的数组叫关联数组,
.....................................................................
phpinfo()函数
list()函数
array each(array array)函数
key()从关联数组中取得键名、
current()返回数组中的当前单元值
next()将数组中的内部指针向前移动一位、
prev()将数组的内部指针倒回一位、
end()将数组的内部指针指向最后一个单元及、
reset()将数组的内部指针指向第一个单元、
* count()计算数组中的单元数目或对象中的属性个数、
array_fill(“开始位”,“条目数”,“填充值”)用给定的值填充数组
六:函数
include()产生一个警告而
require()则导致一个致命错误:
include和require包含并运行指定文件require_once 确保包含一次
七:字符串
八:正则表达式
8.1概念
正则表达式是一种可以用于模式匹配和替换的强有力的工具.它可以让用户通过使用一系列的特殊字符
来构建匹配模式,然后把匹配模式与数据文件或程序输入或者WEB页面的表单输入进行比较.
8.2基本语法
/love/位于"/"定界符之间的部分就是将要在目标对象中进行匹配的模式.用户只要将需要匹配的模式内
容放到"/"之间即可.正则表达式提供了元字符(在正则表达式中具有特殊意义的专用字符),可以规定其
前导字符出现的模式.
常见的有:
+ ----- 规定其前导字符必须出现一次或者多次
* ----- 规定其前导字符必须出现零次或者多次
? ----- 规定其前导字符必须出现一次或者零次
例如:
/fo+/ ---- fo fool football
/eg*/ ---- easy e
/Wil?/ ---- Wi Wil Wilson
* /go{4}gle/表示表示什么意思
除了元字符外,还可以精确的指定模式在匹配对象出现的频率.
适合于preg_match()函数 --- 模式加"//"
/jim{2,6}/ ----- {}里面的内容指定其前导字符出现的次数
\s ----- 用于匹配单个空格符,包括tab键和换行符
\S ----- 用于匹配除单个字符外的所有字符
\d ----- 用于匹配从0到9的所有数字 例如:/\d000/ -- 匹配千元的数
\w ----- 用于匹配字母,数字或者下划线字符
\W ----- 用于匹配所有与\w不匹配的字符
. ----- 用于匹配除换行符外的所有字符
^ ----- 规定匹配对象必须出现在目标字符串的开头
$ ----- 规定匹配对象必须出现在目标字符串的结尾
\b ----- 规定匹配对象必须出现在目标字符串的开头或者结尾的两个边界之一
\B ----- 规定匹配对象必须出现在目标字符串的开头和结尾两个边界之内
例如:/^hell/ ----- hell hello hellohound
/ar$/ ----- car ba ar
/\bbom/ ----- bom必须出现在开头
/man\b/ ----- man必须出现在结尾
/[A-Z]/ ----- 与A到Z的任意一个字符匹配
/[a-z]/ ----- 与a到z的任意一个字符匹配
/[0-9]/ ----- 与0到9的任意一个数字匹配
/[A-Z][a-z][0-9]/ ----组成了一个字符串,如Ab0
注意:()符号可以把字符串组合在一起,里面的内容必须同时出现在目标对象中
如:/([a-z][A-Z][0-9])+/
如果希望在正则表达式中实现“或”运算,在多个匹配模式中任选一个的话,那么可以用"|" 符号.
例如: /to|too|2/
[^] ----- 规定目标对象中不能存在模式所规定的字符串
例如: /[^A-C]/ ---与除了A,B,C之外任意一个字符匹配
可以在模式中加入转义字符来匹配元字符
例如: /Th\*/ --- 匹配Th*
ereg函数:
ereg(pattern,string)
九:文件:
* fopen、打开一个文件(打开模式??)
fclose
string fread ( 文件指针, 读取长度) 、
* array file(文件名)、
* string readfile(文件名) 、
* fgets()从文件指针中读取一行
fwrite(文件指针,写入字串,写入长度)有一别名fputs()。
feof判断文件指针是否到结束位置、
flock文件锁定、
fseek文件中定位 、
ftell返回读写位置、
rewind文件指针移向开头
chgrp()改变文件所属的组、
chmod()改变文件模式[umask]与chown()改变文件的所有者
fileowner(文件名)取得文件的所有者
string getenv(string varname)
表示IP的常量是REMOTE_ADDR
getenv("REMOTE_ADDR")
==========================================
MySQL数据库
==========================================
* 1、链接资源 = mysql_connect(主机名,用户,密码);
2、mysql_select_db()。选择数据库
3、mysql_query(sql语句,[链接]) 发送一个sql语句:
(增、删、改)布尔值: 查询:返回结果集
* 4、mysql_db_query(数据库名,sql语句,[链接]) 选择数据库并发送sql语句
* 5、解析结果集函数:
mysql_fetch_row( ) //以索引数组解析结果
mysql_fetch_assoc( )//以关联数组解析结果
mysql_fetch_array(结果集,[选项]) //以索引和关联数组解析结果
选项: MYSQL_NUM 等价于 mysql_fetch_row( )
MYSQL_ASSOC 等价于 mysql_fetch_assoc( )
MYSQL_BOTH 两者都有,默认
mysql_fetch_object()//以对象方式解析结果
取属性值使用“->”
6、释放资源
mysql_free_result( )
* 7 mysql_insert_id -- 取得上一步 INSERT 操作产生的 ID
7、关闭链接
mysql_close( )
8. 统计结果集的行数
mysql_num_rows($result)
9、统计结果集的列数
mysql_num_fields($result)
* 10)mysql_affected_rows
取得前一次 MySQL 操作(增、删、改)所影响的记录行数
//抽象类:
// 假如类中有个方法,没有方法体,那么这个方法就是抽象方法
// ,包含抽象方法的类也必须是抽象类。使用关键字abstract加以声明。
//
//若想使用抽象类,就必须定义一个类去继承这个抽象类,并定义覆盖父类的抽象方法(实现抽象方法)。
//
//其实抽象类对于子类(实现类),有一个约束的作用,
//
//含有抽象方法的类肯定是抽象类,但是不是所有的抽象类都必须包含抽象方法。
//
//假如一个抽象类中所有的方法都是抽象的,那么我们可以使用另外一种方式定义:接口
// 接口使用关键字interface来定义,接口中只能有常量与抽象方法。
//
//实现方式:class 类名 implements 接口名,接口名2{
//
// 实现体。。
// }
//
//
//
//多态:对于同一个方法,传入不同对象,实现了不同的效果,这个就是多态的意思,
// 需要使用的技术:继承或实现,方法的覆盖。
** 增、删、改、查的SQL语句
** 面向对象要知道调用方法、构造与析构原理、
** final、clone、__call、parent关键字的使用
** Mysqli(参考php_mysql的操作)
* JQuery的选择器使用及添加或移除属性方法
* 在Smarty模板中如何输出变量、Cookie、Session的值
* 在Smarty模板中如何使用调节器
* MVC设计模式描