`

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 />";
  }

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics