笔记以 http://www.w3school.com.cn/php/index.asp 为蓝本,记录一些知识。
表单验证
应该在任何可能的时候对用户输入进行验证。客户端的验证速度更快,并且可以减轻服务器的负载。
不过,任何流量很高以至于不得不担心服务器资源的站点,也有必要担心站点的安全性。如果表单访问的是数据库,就非常有必要采用服务器端的验证。
在服务器验证表单的一种好的方式是,把表单传给它自己,而不是跳转到不同的页面。这样用户就可以在同一张表单页面得到错误信息。用户也就更容易发现错误了。
date()函数
date(format,timestamp
format: d - day, m - month, Y - year, H - hour, i - minutes, s - seconds.
timestamp: 自 1970 年 1 月 1 日(00:00:00 GMT)以来的秒数.
mktime() 函数可为指定的日期返回 Unix 时间戳。
mktime(hour,minute,second,month,day,year,is_dst)
include 和 require 很相似,除了在错误处理方面的差异:
- require 会产生致命错误 (E_COMPILE_ERROR),并停止脚本
- include 只会产生警告 (E_WARNING),脚本将继续
- 在框架、CMS 或者复杂的 PHP 应用程序编程中,请始终使用 require 向执行流引用关键文件。这有助于提高应用程序的安全性和完整性,在某个关键文件意外丢失的情况下。
fopen(filename, method) 函数用于在 PHP 中打开文件。
fclose(file).
fgets(file) 逐行读文件
fgetc(file) 逐字符读文件
<form> 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用 "multipart/form-data"。
cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。
setcookie() 函数必须位于 <html> 标签之前。
setcookie(name, value, expire, path, domain);
Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。
在您把用户信息存储到 PHP session 中之前,首先必须启动会话。
注释:session_start() 函数必须位于 <html> 标签之前.
unset() 函数用于释放指定的 session 变量.
session_destroy() 函数彻底终结 session.
PHP mail() 函数用于从脚本中发送电子邮件。
mail(to,subject,message,headers,parameters)
$field=filter_var($field,FILTER_SANITIZE_EMAIL
); if(filter_var($field,FILTER_VALIDATE_EMAIL
);
PHP 过滤器来对输入进行验证:
- FILTER_SANITIZE_EMAIL 从字符串中删除电子邮件的非法字符
- FILTER_VALIDATE_EMAIL 验证电子邮件地址
PHP 错误处理
- 简单的 "die()" 语句
- 自定义错误和错误触发器
- 错误报告
1.基本的错误处理:使用 die() 函数
die("xxx");
2.创建自定义错误处理器
function customError($errno, $errstr) { echo "<b>Error:</b> [$errno] $errstr"; } //set error handler set_error_handler("customError");
基本的错误处理器:
error_function(error_level,error_message, error_file,error_line,error_context)
error_context 可选。规定一个数组,包含了当错误发生时在用的每个变量以及它们的值
3.触发错误
在脚本中用户输入数据的位置,当用户的输入无效时触发错误的很有用的。在 PHP 中,这个任务由 trigger_error() 完成。
错误记录
默认地,根据在 php.ini 中的 error_log 配置,PHP 向服务器的错误记录系统或文件发送错误记录。通过使用 error_log() 函数,您可以向指定的文件或远程目的地发送错误记录。
异常的基本使用
如果异常没有被捕获,而且又没用使用 set_exception_handler() 作相应的处理的话,那么将发生一个严重的错误(致命错误),并且输出 "Uncaught Exception" (未捕获异常)的错误消息。
设置顶层异常处理器 (Top Level Exception Handler)
set_exception_handler() 函数可设置处理所有未捕获异常的用户定义函数。
<?php function myException($exception) { echo "<b>Exception:</b> " , $exception->getMessage(); } set_exception_handler('myException'); throw new Exception('Uncaught Exception occurred'); ?>
连接到一个 MySQL 数据库
mysql_connect(servername,username,password);
create database:
mysql_query("CREATE DATABASE my_db",$con)
select Database:
mysql_select_db("my_db", $con);
|
支持日期或时间 |
SHOW CREATE TABLE tablenam; 显示表结构
mysql中文
http://database.51cto.com/art/201010/229167.htm
mysql> SHOW VARIABLES LIKE 'character%';查看
SET character_set_xxxxx = utf8 ;
connection连接层上。解决方法是在发送查询前执行一下下面这句:
SET NAMES 'utf8';
网页<head>
<
meta
http-equiv
=
"
content-type
"
content
=
"
text/html; charset=UTF-8
"
/>
有两种基本的 XML 解析器类型:
- 基于树的解析器:这种解析器把 XML 文档转换为树型结构。它分析整篇文档,并提供了 API 来访问树种的元素,例如文档对象模型 (DOM)。
- 基于事件的解析器:将 XML 文档视为一系列的事件。当某个具体的事件发生时,解析器会调用函数来处理。(Expat is this)
Expat parser:
$parser=xml_parser_create(); function start($parser,$element_name,$element_attrs){} function stop($parser,$element_name){} function char($parser,$data){} xml_set_element_handler($parser,"start","stop"); xml_set_character_data_handler($parser,"char"); $fp=fopen("test.xml","r"); while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) or die (sprintf("XML Error: %s at line %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); } xml_parser_free($parser);
DOM xml Parser:
$xmlDoc = new DOMDocument(); $xmlDoc->load("note.xml"); $x = $xmlDoc->documentElement; foreach ($x->childNodes AS $item) { print $item->nodeName . " = " . $item->nodeValue . "<br />"; } print $xmlDoc->saveXML();
saveXML() 函数把内部 XML 文档放入一个字符串,这样我们就可以输出它。
当 XML 生成时,它通常会在节点之间包含空白。XML DOM 解析器把它们当作普通的元素,如果您不注意它们,有时会产生问题。
simple dom
$xml = simplexml_load_file("test.xml"); echo $xml->getName() . "<br />"; foreach($xml->children() as $child) { echo $child->getName() . ": " . $child . "<br />"; }
相关推荐
W3School教程将涵盖选择器、盒模型、布局技术(如Flexbox和Grid)、响应式设计等方面,让读者理解如何使用CSS实现跨平台、多设备的兼容性。 **JavaScript**是Web开发中的重要脚本语言,用于增加网页的交互性。通过...
**W3School 全套教程**是一份涵盖广泛、深入浅出的Web开发学习资源,旨在帮助初学者和进阶者全面掌握Web技术。W3School是全球知名的在线教育平台,以其详尽的教程和丰富的实践示例在IT行业中赢得了极高的声誉。这套...
w3school全套教程(含jquery)chm w3school全套教程(含jquery)chm w3school全套教程(含jquery)chm w3school全套教程(含jquery)chm w3school全套教程(含jquery)chm w3school全套教程(含jquery)chm w3school...
W3School Ajax教程 Ajax 教程 整理的W3School Ajax教程
在w3school,你可以找到你所需要的所有的网站建设教程。 从基础的HTML到XHTML,乃至进阶的XML、SQL、数据库、多媒体和WAP。 http://www.w3school.com.cn/这个网站就不介绍了自己看吧囊括了可以说web开发的所有知识...
W3school在线教程
w3school提供了全面的网页设计教程,帮助初学者和有经验的开发者提升技能。 HTML(HyperText Markup Language)是网页设计的基础,它是用于创建网页结构的语言。在w3school的教程中,你会学习如何使用HTML标签来...
这个"W3School 全套教程 CHM"压缩包包含了一个离线版的W3School教程,方便用户在没有网络连接的情况下也能学习Web开发的各种技能。CHM(Compiled HTML Help)是微软推出的一种帮助文件格式,它将HTML页面集合到一起...
《W3School 全套教程》是一份全面且详尽的Web开发学习资源,它涵盖了Web技术的各个方面,包括HTML、CSS、JavaScript、XML、SQL、PHP、jQuery等。这个压缩包中的“W3School全套教程.CHM”文件,很可能是一个帮助文档...
在提供的三个子文件中,“W3School W3.CSS 教程.epub”可能涵盖W3.CSS框架的基础和高级用法,包括布局、样式、响应式设计和图标应用等内容;“W3School 图标教程.epub”可能专注于W3.CSS的图标系统,介绍如何选择、...
《w3school.chm中文和英文版》是一个包含w3school在线教程中文和英文版的压缩文件,旨在为学习Web开发技术的人们提供方便。w3school是全球知名的在线学习平台,尤其以其简洁易懂的教学风格深受初学者喜爱。这份...
【w3school在线教程离线独立运行完整版】是一个针对初学者和专业人士的全面Web开发资源,它提供了广泛的编程语言和技术的教程,包括HTML、CSS、JavaScript、SQL、PHP、Python等。这个离线版本允许用户在没有互联网...
w3school在线教程离线版20120928
w3school上导下来的教程,可以入门用,也可以当手册
W3SCHOOL PHP离线教程,可以快速的对PHP的语法有个简单的认识,也可作为参考工具开发时使用
w3school导下来的教程,适合入门,也可以当手册
【w3school教程完全版无广告版】是一个非常宝贵的在线学习资源,对于想要自我提升IT技能,特别是Web开发基础知识的人来说,这是一个不可多得的宝藏。w3school是全球知名的在线教育平台,以其全面、易懂的教程而广受...
由于打包文件有60MB的限制,就拿了一半打包,另一半在打包下载全部w3school教程(2)中。 (1)中包括18个PDF,正则表达式教程,设计模式教程,网站建设教程, AngularJS教程,bootstrap教程,c#&asp.net教程,c语言...