`

w3school php教程 笔记

    博客分类:
  • php
 
阅读更多

笔记以 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);

 

日期数据类型 描述
  • date(yyyy-mm-dd)
  • datetime(yyyy-mm-dd hh:mm:ss)
  • timestamp(yyyymmddhhmmss)
  • time(hh:mm:ss)
支持日期或时间

 

SHOW CREATE TABLE tablenam; 显示表结构

 

mysql中文

http://database.51cto.com/art/201010/229167.htm

mysql> SHOW VARIABLES LIKE 'character%';查看

SET character_set_xxxxxutf8 ;  

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离线教程

    W3School教程将涵盖选择器、盒模型、布局技术(如Flexbox和Grid)、响应式设计等方面,让读者理解如何使用CSS实现跨平台、多设备的兼容性。 **JavaScript**是Web开发中的重要脚本语言,用于增加网页的交互性。通过...

    W3School全套教程

    **W3School 全套教程**是一份涵盖广泛、深入浅出的Web开发学习资源,旨在帮助初学者和进阶者全面掌握Web技术。W3School是全球知名的在线教育平台,以其详尽的教程和丰富的实践示例在IT行业中赢得了极高的声誉。这套...

    w3school全套教程(含jquery)

    w3school全套教程(含jquery)chm w3school全套教程(含jquery)chm w3school全套教程(含jquery)chm w3school全套教程(含jquery)chm w3school全套教程(含jquery)chm w3school全套教程(含jquery)chm w3school...

    W3School Ajax教程

    W3School Ajax教程 Ajax 教程 整理的W3School Ajax教程

    w3school在线教程

    在w3school,你可以找到你所需要的所有的网站建设教程。 从基础的HTML到XHTML,乃至进阶的XML、SQL、数据库、多媒体和WAP。 http://www.w3school.com.cn/这个网站就不介绍了自己看吧囊括了可以说web开发的所有知识...

    W3school在线教程

    W3school在线教程

    w3school网页设计教程

    w3school提供了全面的网页设计教程,帮助初学者和有经验的开发者提升技能。 HTML(HyperText Markup Language)是网页设计的基础,它是用于创建网页结构的语言。在w3school的教程中,你会学习如何使用HTML标签来...

    W3School全套教程 chm

    这个"W3School 全套教程 CHM"压缩包包含了一个离线版的W3School教程,方便用户在没有网络连接的情况下也能学习Web开发的各种技能。CHM(Compiled HTML Help)是微软推出的一种帮助文件格式,它将HTML页面集合到一起...

    W3School全套教程.rar

    《W3School 全套教程》是一份全面且详尽的Web开发学习资源,它涵盖了Web技术的各个方面,包括HTML、CSS、JavaScript、XML、SQL、PHP、jQuery等。这个压缩包中的“W3School全套教程.CHM”文件,很可能是一个帮助文档...

    W3School Canvas W3.CSS 图标教程

    在提供的三个子文件中,“W3School W3.CSS 教程.epub”可能涵盖W3.CSS框架的基础和高级用法,包括布局、样式、响应式设计和图标应用等内容;“W3School 图标教程.epub”可能专注于W3.CSS的图标系统,介绍如何选择、...

    w3school.chm中文和英文版

    《w3school.chm中文和英文版》是一个包含w3school在线教程中文和英文版的压缩文件,旨在为学习Web开发技术的人们提供方便。w3school是全球知名的在线学习平台,尤其以其简洁易懂的教学风格深受初学者喜爱。这份...

    w3school在线教程离线独立运行完整版

    【w3school在线教程离线独立运行完整版】是一个针对初学者和专业人士的全面Web开发资源,它提供了广泛的编程语言和技术的教程,包括HTML、CSS、JavaScript、SQL、PHP、Python等。这个离线版本允许用户在没有互联网...

    w3school在线教程离线版20120928

    w3school在线教程离线版20120928

    w3school标准教程-HTML

    w3school上导下来的教程,可以入门用,也可以当手册

    W3SCHOOL PHP离线教程

    W3SCHOOL PHP离线教程,可以快速的对PHP的语法有个简单的认识,也可作为参考工具开发时使用

    w3school标准教程-CSS

    w3school导下来的教程,适合入门,也可以当手册

    w3school教程完全版无广告版

    【w3school教程完全版无广告版】是一个非常宝贵的在线学习资源,对于想要自我提升IT技能,特别是Web开发基础知识的人来说,这是一个不可多得的宝藏。w3school是全球知名的在线教育平台,以其全面、易懂的教程而广受...

    打包下载全部w3school教程(1) PDF  

    由于打包文件有60MB的限制,就拿了一半打包,另一半在打包下载全部w3school教程(2)中。 (1)中包括18个PDF,正则表达式教程,设计模式教程,网站建设教程, AngularJS教程,bootstrap教程,c#&asp.net教程,c语言...

Global site tag (gtag.js) - Google Analytics