(1)PHP 过滤器(Filter)

PHP 过滤器用于验证和过滤来自非安全来源的数据,比如用户的输入。

有两种过滤器:

Validating 过滤器:

  • 用于验证用户输入
  • 严格的格式规则(比如 URL 或 E-Mail 验证)
  • 如果成功则返回预期的类型,如果失败则返回 FALSE

Sanitizing 过滤器:

  • 用于允许或禁止字符串中指定的字符
  • 无数据格式规则
  • 始终返回字符串

示例1(filter_has_var()和filter_input()的使用):

 if(!filter_has_var(INPUT_GET, "email")){
echo("Input type does not exist");
}else{
if (!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL)){
echo "E-Mail is not valid";
}else{
echo "E-Mail is valid";
}
}
}
  1. 检测是否存在 "GET" 类型的 "email" 输入变量
  2. 如果存在输入变量,检测它是否是有效的邮件地址

示例二(filter_input_array() 的使用):

 $filters = array(
"name" => array("filter"=>FILTER_SANITIZE_STRING),
"age" => array("filter"=>FILTER_VALIDATE_INT,"options"=>array("min_range"=>1,"max_range"=>120)),
"email"=> FILTER_VALIDATE_EMAIL,
);
$result = filter_input_array(INPUT_GET, $filters);
if (!$result["age"]){
echo("Age must be a number between 1 and 120.<br />");
}elseif(!$result["email"]){
echo("E-Mail is not valid.<br />");
}else{
echo("User input is valid");
}

示例三(通过使用 FILTER_CALLBACK 过滤器,可以调用自定义的函数,把它作为一个过滤器来使用):

function convertSpace($string)
{
return str_replace("_", " ", $string);
} $string = "Peter_is_a_great_guy!"; echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertSpace"));

(2)PHP MySQL 基本操作

//连接
$con = mysql_connect(servername,username,password); //关闭
mysql_close($con); //创建数据库
create database database_name //创建表
CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
.......
) //选择数据库
mysql_select_db("my_db", $con);

注意:注释:SQL 语句对大小写不敏感。

(3)mysql的日期时间类型

  • date(yyyy-mm-dd)
  • datetime(yyyy-mm-dd hh:mm:ss)
  • timestamp(yyyymmddhhmmss)
  • time(hh:mm:ss)

(4)mysql 创建表

$sql = "CREATE TABLE Persons
(
personID int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(personID),
Name varchar(15),
Age int
)";

注意:主键的属性AUTO_INCREMENT,单词increment中没有A。

(5)mysql_fetch_array(data,array_type)

data 可选。规定要使用的数据指针。该数据指针是 mysql_query() 函数产生的结果。
array_type 可选。规定返回哪种结果。可能的值:
MYSQL_ASSOC - 关联数组
MYSQL_NUM - 数字数组
MYSQL_BOTH - 默认。同时产生关联和数字数组

相关函数:

mysql_fetch_assoc(data)   从结果集中取得一行作为关联数组。

mysql_fetch_row(data)   从结果集中取得一行作为数字数组。

mysql_fetch_object(data) 函数从结果集中取得一行作为对象。

mysql_fetch_field(data,field_offset) 函数从结果集中取得列信息并作为对象返回。

(6)PHP Database ODBC

ODBC 是一种应用程序编程接口(Application Programming Interface,API),使我们有能力连接到某个数据源(比如一个 MS Access 数据库)。

通过一个 ODBC 连接,您可以连接到您的网络中的任何计算机上的任何数据库,只要 ODBC 连接是可用的。

(7)什么是 XML?

  • XML 指可扩展标记语言(EXtensible Markup Language)
  • XML 是一种标记语言,很类似 HTML
  • XML 的设计宗旨是传输数据,而非显示数据
  • XML 标签没有被预定义。您需要自行定义标签。
  • XML 被设计为具有自我描述性。
  • XML 是 W3C 的推荐标准。

(8)XML语法:

XML 元素都须有关闭标签。
XML 标签对大小写敏感。在 XML 中,标签 <Letter> 与标签 <letter> 是不同的。
XML 必须正确地嵌套。
XML 文档必须有一个元素是所有其他元素的父元素。该元素称为根元素。
XML 的属性值须加引号。
XML 请用实体引用来代替 "< > & ' " " 字符。
XML 中的注释,使用<!-- -->
XML 中,空格会被保留(HTML会把多个连续的空格字符裁减(合并)为一个)。
XML 以 LF 存储换行。

(9)XML 命名规则

XML 元素必须遵循以下命名规则:

  • 名称可以含字母、数字以及其他的字符
  • 名称不能以数字或者标点符号开始
  • 名称不能以字符 “xml”(或者 XML、Xml)开始
  • 名称不能包含空格

可使用任何名称,没有保留的字词。

(10)使用 CSS 显示 XML

<?xml-stylesheet type="text/css" href="cd_catalog.css"?>,把这个 XML 文件链接到 CSS 文件.

(11)通过 PHP 生成 XML

header("Content-type:text/xml");
echo "<?xml version='1.0' encoding='ISO-8859-1'?>";
echo "<note>";
echo "<from>John</from>";
echo "<to>George</to>";
echo "<message>Don't forget the meeting!</message>";
echo "</note>";

(12)PHP加载和输出 XML

$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
print $xmlDoc->saveXML();
//循环输出元素
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml"); $x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item){
print $item->nodeName . " = " . $item->nodeValue . "<br />";
}
//使用simpleXML
$xml = simplexml_load_file("test.xml");
foreach($xml->children() as $child){
echo $child->getName() . ": " . $child . "<br />";
}
												

php 基础复习 2018-06-20的更多相关文章

  1. python基础复习

    复习-基础 一.review-base 其他语言吗和python的对比 c vs Python c语言是python的底层实现,解释器就是由python编写的. c语言开发的程序执行效率高,开发现率低 ...

  2. Java基础复习笔记系列 八 多线程编程

    Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...

  3. C语言基础复习总结

    C语言基础复习总结 大一学的C++,不过后来一直没用,大多还给老师了,最近看传智李明杰老师的ios课程的C语言入门部分,用了一周,每晚上看大概两小时左右,效果真是顶一学期的课,也许是因为有开发经验吧, ...

  4. kbmmw 5.06.20 发布

    经过1个多月的测试,终于发布正式版. 5.06.20 July 11 2018           Important notes (changes that may break existing c ...

  5. 【2018.06.26NOIP模拟】T2号码bachelor 【数位DP】*

    [2018.06.26NOIP模拟]T2号码bachelor 题目描述 Mike 正在在忙碌地发着各种各样的的短信.旁边的同学 Tom 注意到,Mike 发出短信的接收方手机号码似乎都满足着特别的性质 ...

  6. 《Java基础复习》—常识与入门

    突然发现自己Java基础的底子不到位,复习! 所记知识会发布在CSDN与博客网站jirath.cn <Java基础复习>-常识与入门 一.Java语言的知识体系图 分为三部分 编程语言核心 ...

  7. 《CSS权威指南》基础复习+查漏补缺

    前几天被朋友问到几个CSS问题,讲道理么,接触CSS是从大一开始的,也算有3年半了,总是觉得自己对css算是熟悉的了.然而还是被几个问题弄的"一脸懵逼"... 然后又是刚入职新公司 ...

  8. Java基础复习笔记系列 九 网络编程

    Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...

  9. Java基础复习笔记系列 七 IO操作

    Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...

  10. Java基础复习笔记系列 五 常用类

    Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...

随机推荐

  1. laravel如何查找门脸及注入类方法

    门脸模式 通过 config/app.php 查看别名对应类名 Illuminate\Support\Facades\Log ,查看 LoggerInterface 类文件,得:命名空间+接口名 Ps ...

  2. makefile vpath变量

    在讲vpath之前,我们首先了解以下makefile文件. 在类Unix系统中,当我们使用源码编译某个软件的时候,我们会使用confiure,make,make install这三个命令,其中cofi ...

  3. EOS Dawn 3.0 智能合约 -- 新格式

    1.简介 随着EOS Dawn 3.0发布,智能合约的坑又要重新踩了o(╥﹏╥)o:3.0不仅将原来本身就在链里的基础合约独立出来,简单的介绍见3.0合约改变,合约的书写方式也有巨大变化,相比之前更加 ...

  4. 获取指定点的RGB值

    实现效果: 知识运用: Color对象的RGB属性 实现代码: private void button1_Click(object sender, EventArgs e) { OpenFileDia ...

  5. Linux 常用命令:解压缩

    目录 Linux 常用命令:解压缩 说明 tar 涉及参数说明: 压缩 解压 zip压缩 涉及参数说明: uzip解压 涉及参数说明: gzip 涉及参数说明: 压缩率比较 Linux 常用命令:解压 ...

  6. HTML5新特性之History

    几年前,Ajax的兴起给互联网带来了新的生机,同时也使用户体验有了质的飞跃,用户无需刷新页面即可获取新的数据,而页面也以一种更具有交互性的形式为用户展现视图,可以说这种变化对互联网发展的贡献是史无前例 ...

  7. DP || HYSBZ 1207 打鼹鼠

    n*n的网格,有m个鼹鼠,t时间会有一只鼹鼠出现在(x,y)点处,如果机器人也在这个点就可以打到鼹鼠 机器人初始位置任意,每秒可以移动一格,问最多打到多少鼹鼠 *解法:f[i]表示前i只鼹鼠打了多少个 ...

  8. Eaton Char-Lynn Motor : Performance Of Small Displacement Motors

    The small-displacement supercharged motor replaces the large-displacement motor with the speed of li ...

  9. JAVA基础——网络编程之网络链接

    一.网络编程基本概念 1.OSI与TCP/IP体系模型 2.IP和端口 解决了文章最开始提到的定位的问题. IP在互联网中能唯一标识一台计算机,是每一台计算机的唯一标识(身份证):网络编程是和远程计算 ...

  10. 解决SimpleDateFormat线程安全问题

    package com.tanlu.user.util; import java.text.DateFormat; import java.text.ParseException; import ja ...