建立用户身份验证机制和个性化设置总结(1)
2015-06-07 08:32
197 查看
利用一周课余时间照着《PHP与MySQL W1eb开发》的27章code代码,之后查看不懂的函数,最后根据整体代码思路列出了详细的流程图(如下),可以忽略字体。
![](https://img-blog.csdn.net/20150607083905788?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUEhQd2hpdGU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
下面我总结这次coding中学到的函数(就不上整体代码了)
1、mail()
允许您从脚本中直接发送邮件。成功接收返回true,否则false
subject:规定邮件的主题
message:规定发送消息
header:规定额外报头,如From,Cc和Bcc
parameters:规定sendmail程序的额外参数
2、empty()
检查一个变量是否为空(只检测变量,检测任何非变量的东西都将解释错误。话句话说就是后面语句不起作用
empty()返回
为空,则返回
3、strstr()
查找字符串的首次出现
打开一个文件或者URL
5、count()
定义和语法
计算数组中的单元数目或对象中的属性个数。
对于数组,返回其元素的个数,对于其他值,返回 1。如果参数是变量而变量没有定义,则返回 0。
如果 mode 被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组的元素个数。
6、is_array()
检测变量是否为数组
7、foreach()
foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。有两种语法:
第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给$value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。
第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key。
8、isset()
检测变量是否设置
9、ereg()
正则表达式匹配
10、htmlspecialchars()
把一些预定义的字符转换为 HTML 实体。语法为:htmlspecialchars(string,quotestyle,character-set)
11、session_destroy()
销毁一个会话中的全部数据
12、try{} catch{}
在
try
{ //...}
catch(Exception $e)
{ //...}
PHP中try{}catch{}是异常处理.
将要执行的代码放入try块中,如果这些代码执行过程中某一条语句发生异常,则程序直接跳转到catch块中,由$e收集错误信息和显示.
PHP中try{}catch{}语句
为了进一步处理异常,我们需要使用PHP中try{}catch{}----包括Try语句和至少一个的catch语句。任何调用可能抛出异常的方法的代码都应该使用try语句。Catch语句用来 处理可能抛出的异常。以下显示了我们处理getCommandObject()抛出的异常的方法:
< ?php
try {
$mgr = new CommandManager();
$cmd = $mgr->getCommandObject("realcommand");
$cmd->execute();
}
catch (Exception $e) {
print $e->getMessage();
exit();
}
?>
可以看到,通过结合使用throw关键字和PHP中try{}catch{},我们可以避免错误标记“污染”类方法返回的值。因为“异常”本身就是一种与其它任何对象不同的PHP内建的类型,不会产生混淆。
如果抛出了一个异常,try语句中的脚本将会停止执行,然后马上转向执行catch语句中的脚本。
如果异常抛出了却没有被捕捉到,就会产生一个fatal error。
在下一篇中会详细总结几个函数。加油!!!!!
(参考PHP手册、百度查询结果、博友介绍)
下面我总结这次coding中学到的函数(就不上整体代码了)
1、mail()
允许您从脚本中直接发送邮件。成功接收返回true,否则false
mail(to,subject,message,headers,parameters) //语法to:规定邮件的接受者
subject:规定邮件的主题
message:规定发送消息
header:规定额外报头,如From,Cc和Bcc
parameters:规定sendmail程序的额外参数
2、empty()
检查一个变量是否为空(只检测变量,检测任何非变量的东西都将解释错误。话句话说就是后面语句不起作用
empty(addslashes($name)) //不起作用如果
var是非空或非零的值,则
empty()返回
FALSE。换句话说,""、0、"0"、
NULL、
FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果
var
为空,则返回
TRUE。
3、strstr()
查找字符串的首次出现
<?php $email = 'name@example.com'; $domain = strstr($email, '@'); echo $domain; // 打印 @example.com $user = strstr($email, '@', true); // 从 PHP 5.3.0 起 echo $user; // 打印 name ?>4、fopen()
打开一个文件或者URL
//打开一个文件 <?php $handle = fopen("c:\\folder\\resource.txt", "r"); ?>
5、count()
定义和语法
计算数组中的单元数目或对象中的属性个数。
对于数组,返回其元素的个数,对于其他值,返回 1。如果参数是变量而变量没有定义,则返回 0。
如果 mode 被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组的元素个数。
//语法 count(array,mode)
array | 必需。规定要计数的数组或对象。 |
mode | 可选。规定函数的模式。可能的值: 0 - 默认。不检测多维数组(数组中的数组)。 1 - 检测多维数组。 |
检测变量是否为数组
7、foreach()
foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。有两种语法:
foreach (array_expression as $value) statement foreach (array_expression as $key => $value) statement
第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给$value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。
第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key。
8、isset()
检测变量是否设置
9、ereg()
正则表达式匹配
10、htmlspecialchars()
把一些预定义的字符转换为 HTML 实体。语法为:htmlspecialchars(string,quotestyle,character-set)
11、session_destroy()
销毁一个会话中的全部数据
12、try{} catch{}
在
try
{ //...}
catch(Exception $e)
{ //...}
PHP中try{}catch{}是异常处理.
将要执行的代码放入try块中,如果这些代码执行过程中某一条语句发生异常,则程序直接跳转到catch块中,由$e收集错误信息和显示.
PHP中try{}catch{}语句
为了进一步处理异常,我们需要使用PHP中try{}catch{}----包括Try语句和至少一个的catch语句。任何调用可能抛出异常的方法的代码都应该使用try语句。Catch语句用来 处理可能抛出的异常。以下显示了我们处理getCommandObject()抛出的异常的方法:
< ?php
try {
$mgr = new CommandManager();
$cmd = $mgr->getCommandObject("realcommand");
$cmd->execute();
}
catch (Exception $e) {
print $e->getMessage();
exit();
}
?>
可以看到,通过结合使用throw关键字和PHP中try{}catch{},我们可以避免错误标记“污染”类方法返回的值。因为“异常”本身就是一种与其它任何对象不同的PHP内建的类型,不会产生混淆。
如果抛出了一个异常,try语句中的脚本将会停止执行,然后马上转向执行catch语句中的脚本。
如果异常抛出了却没有被捕捉到,就会产生一个fatal error。
在下一篇中会详细总结几个函数。加油!!!!!
(参考PHP手册、百度查询结果、博友介绍)
相关文章推荐
- 2015年6月7日 vs项目加载失败。提示需要下载IIS
- 什么是CC攻击,如何防止网站被CC攻击的方法总汇
- 图的邻接多重表存储
- 《你的灯亮着吗》阅读笔记二
- 《你的灯亮着吗》阅读笔记二
- 我所理解的设计模式(C++实现)——责任链模式(Chain Of Responsibility Pattern)
- 前端第一周(读书笔记)
- [转]比较全面的gdb调试命令
- [概率]m个球扔到n个盒子
- moodle 板块(block)开发流程小记
- php导出word文档样式以及word文档分页
- gdb 的使用
- 网站防止CC攻击的方法
- 1005. Spell It Right (20)
- mac OS X Yosemite 上编译hadoop 2.6.0/2.7.0及TEZ 0.5.2/0.7.0 注意事项
- 实体序列化反序列化 半成品
- 搜索文献总结
- iOS添加xib
- Java学习--知识点1--static关键字
- Maven环境配置