设为首页 收藏本站
查看: 905|回复: 0

[经验分享] w3school php教程 笔记

[复制链接]

尚未签到

发表于 2017-3-25 13:05:23 | 显示全部楼层 |阅读模式
  笔记以 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.iyunv.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 />";
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-355275-1-1.html 上篇帖子: php的指针引用 下篇帖子: 一个php 异常处理程序
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表