php

2020-02-05  本文已影响0人  此无休言

require 生成一个致命错误(E_COMPILE_ERROR),在错误发生后脚本会停止执行。
include 生成一个警告(E_WARNING),在错误发生后脚本会继续执行。

Session

session_start(); 开始记录
$_SESSION['views'] 根据名字获取session
unset(¥SESSION['views']) 或 session_destroy() 销毁session

Exception

抛出异常 try 中throw
抓包异常 catch
set_exception_handler() 设置所有未定义的错误抛出

过滤器

"filter" 制定方法
"options" 过滤条件

接口

声明一个接口以及内部的方法,但不需要具体内容。
interface iTemplate
{
}
实现接口
class Template implements iTemplate

Mysql

创建连接 new mysqli($servername, $username, $password);
检测连接 $conn->connect_error
关闭连接 $conn->close(); mysqli_close($conn);
SQl语句 $conn->query()

PDO

开启扩展 extension=php_pdo.dll
初始化新对象 $dbh = new PDO($dsn, $user, $pass);
错误对象 PDOException

SQL语句

php中sql语句拼接,$sql="SELECT * FROM Websites WHERE id = '".$q."'";
'".$q."'

AJAX

能够默写出
XMLHttpRequest 对象用于和服务器交换数据, open() 和 send() 方法

open

xmlhttp.open("GET/POST",服务器上的文件,async:true(异步)或 false(同步));
如果需要使用,必须true异步,必须确定onreadystatechange 事件中的就绪状态时执行的函数;如果小型请求中false同步,不需要onreadystatechange 函数 ,获取的代码放到 send() 语句后面即可:
常用GET,以下使用POST:

  1. 在open()中传入的php文件, 如果不加参数常使用的缓存文件,可以将文件后参数添加改成
    demo_get.php?t=" + Math.random()
  2. GET 方法发送信息,向 URL 添加信息:

send

xmlhttp.send(); 仅为post请求

  1. 像 HTML 表单 POST 数据,使用 setRequestHeader() 来添加 HTTP 头。在 send() 方法中规定发送的数据:
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlhttp.send("fname=Henry&lname=Ford");
    其中 setRequestHeader(header,value)

response

.responseText; 字符串形式
.responseXML 解析为xml

onreadystatechange

所以 readyState 等于 4 且状态为 200 时,表示响应已就绪。
首先判断输入框是否有数据,没有即为空,有即执行:

//创建XMLHttpRequest对象
if (window.XMLHttpRequest)
    {
        // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行的代码
        xmlhttp=new XMLHttpRequest();
    }
else
    {    
        //IE6, IE5 浏览器执行的代码
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
//创建在服务器响应就绪时执行的函数
xmlhttp.onreadystatechange=function()
    {
        //state:  satus:
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
        }
    }
//向服务器上的文件发送请求,添加到 URL 末端的参数(q)(包含输入框的内容)
    xmlhttp.open("GET","gethint.php?q="+str,true);
    xmlhttp.send();

浏览器:创建xmlhttprequest对象,发送httprequest 给
Internet:处理httprequest并返回数据 给
浏览器:JS处理返回的数据 ,更新内容
简单来说,创建XMLHttpRequest,open以后send给onreadystatechange中

回调函数

以参数形式传递给另一个函数的函数。将存在的多个AJAX函数引向同一个function

var xmlhttp;
function loadXMLDoc(url,cfunc)
{
  if (window.XMLHttpRequest)
  {// IE7+, Firefox, Chrome, Opera, Safari 代码
      xmlhttp=new XMLHttpRequest();
  }
  else
  {// IE6, IE5 代码
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=cfunc;
  xmlhttp.open("GET",url,true);
  xmlhttp.send();
}
function myFunction()
{
    loadXMLDoc("/try/ajax/ajax_info.txt",function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
        }
    });
}

跨域 Access-Control-Allow-Origin

在A域名下的server.php中添加头部,

  1. 指定某域名
    header('Access-Control-Allow-Origin:B域名');
  2. 允许多个域名访问
$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : '';    
$allow_origin = array(  
    B域名
    C域名
);    
if(in_array($origin, $allow_origin)){  
    header('Access-Control-Allow-Origin:'.$origin);       
} 

3、允许所有域名访问
header('Access-Control-Allow-Origin:*');

上一篇下一篇

猜你喜欢

热点阅读