zoukankan      html  css  js  c++  java
  • php 基础复习 2018-06-18

    (1)cookie相关

    cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。

    如何创建 cookie?

    setcookie() 函数用于设置 cookie。语法:setcookie(name, value, expire, path, domain);

    注释:在发送 cookie 时,cookie 的值会自动进行 URL 编码,在取回时进行自动解码(为防止 URL 编码,请使用 setrawcookie() 取而代之)。

    如何取回 Cookie 的值?

    PHP 的 $_COOKIE 变量用于取回 cookie 的值。

    如何删除 cookie?

    当删除 cookie 时,您应当使过期日期变更为过去的时间点。
    setcookie("user", "", time()-3600);

    (2)PHP Sessions

    PHP session 变量用于存储有关用户会话的信息,或更改用户会话的设置。Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用。

    开启session:session_start() 。

    存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量。

    删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。

     

    (3)PHP filter_var() 函数

    功能:获取一个变量,并进行过滤。

    语法:filter_var(variable, filter, options)

    示例,过滤一个email

    $field=filter_var($email, FILTER_SANITIZE_EMAIL);
     
    if(filter_var($field, FILTER_VALIDATE_EMAIL)){
        return TRUE;
    }else{
        return FALSE;
    }

    函数第二个参数常用判断:

    FILTER_VALIDATE_URL 把值作为 URL 来验证。
    FILTER_VALIDATE_EMAIL 把值作为 e-mail 来验证。
    FILTER_VALIDATE_IP 把值作为 IP 地址来验证。
    FILTER_VALIDATE_FLOAT 以浮点数验证值。
    FILTER_SANITIZE_EMAIL 删除所有字符,除了字母、数字以及 !#$%&'*+-/=?^_`{|}~@.[]

    (4)修改PHP的错误处理程序

    function customError($errno, $errstr)
    {
    echo "<b>Error:</b> [$errno] $errstr";
    }

    //set error handler
    set_error_handler("customError");

    (5)主动触发错误:

    trigger_error("Value must be 1 or below");

    trigger_error("Value must be 1 or below",E_USER_WARNING);

    (6)PHP 异常处理

    异常(Exception)用于在指定的错误发生时改变脚本的正常流程。

    try{
    
    }catch(Exception $e){
        //捕获异常
        echo 'Message: ' .$e->getMessage();
    }

    多个异常可以为一段脚本使用多个异常,来检测多种情况。

    class customException extends Exception{
        public function errorMessage(){
            $errorMsg = 'Error on line '.$this->getLine().' in '.$this->getFile().': <b>'.$this->getMessage().'</b> is not a valid E-Mail address';
            return $errorMsg;
        }
    }
    
    $email = "someone@example.com";
    
    try{
        if(filter_var($email, FILTER_VALIDATE_EMAIL) === FALSE){
            throw new customException($email);
        }
     //check for "example" in mail address
         if(strpos($email, "example") !== FALSE){
            throw new Exception("$email is an example e-mail");
        }
    }
    catch (customException $e){
        echo $e->errorMessage();
    }
    catch(Exception $e){
        echo $e->getMessage();
    }

    (7)设置顶层异常处理器 (Top Level Exception Handler)

    set_exception_handler() 函数可设置处理所有未捕获异常的用户定义函数。

    function myException($exception)
    {
    echo "<b>Exception:</b> " , $exception->getMessage();
    }
    
    set_exception_handler('myException');
    
    throw new Exception('Uncaught Exception occurred');
  • 相关阅读:
    MS CRM 2011的自定义和开发(10)——CRM web服务介绍(第一部分)——IDiscoveryService
    MS CRM 2011的自定义和开发(7)——视图编辑器(第二部分)
    MS CRM 2011 SDK 5.06版本已经发布
    MS CRM 2011的自定义和开发(11)——插件(plugin)开发(一)
    近来遇到的MS CRM 2011方面的几个问题
    MS CRM 2011的自定义与开发(6)——表单编辑器(第二部分)
    Microsoft Dynamics CRM 2011中,Lookup字段的赋值
    MS CRM 2011的自定义和开发(6)——表单编辑器(第三部分)
    Visual Studio 目标框架造成 命名空间“Microsoft”中不存在类型或命名空间名称“Crm”。是否缺少程序集引用中错误的处理
    一步步学习Reporting Services(二) 在报表中使用简单的参数作为查询条件
  • 原文地址:https://www.cnblogs.com/gyfluck/p/9199325.html
Copyright © 2011-2022 走看看