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');
  • 相关阅读:
    InfoPath Resource Sites
    深入浅出SharePoint——批量导入数据
    理解Javascript_07_理解instanceof实现原理
    二分图匹配(匈牙利算法模板)
    不錯的幾個ICON搜尋網站推廌
    Sql Server 执行计划及Sql查询优化
    SCSI RAID与IDE RAID性能对比说明
    Lucene.Net的中文分词组件AdvancedChineseAnalyzer
    NAS和SAN存储和恢复技术介绍
    百万数据查询优化技巧三十则
  • 原文地址:https://www.cnblogs.com/gyfluck/p/9199325.html
Copyright © 2011-2022 走看看