php

require 生成一個(gè)致命錯(cuò)誤(E_COMPILE_ERROR)熙揍,在錯(cuò)誤發(fā)生后腳本會停止執(zhí)行。
include 生成一個(gè)警告(E_WARNING)北启,在錯(cuò)誤發(fā)生后腳本會繼續(xù)執(zhí)行瞧壮。

Session

session_start(); 開始記錄
$_SESSION['views'] 根據(jù)名字獲取session
unset(¥SESSION['views']) 或 session_destroy() 銷毀session

Exception

拋出異常 try 中throw
抓包異常 catch
set_exception_handler() 設(shè)置所有未定義的錯(cuò)誤拋出

過濾器

"filter" 制定方法
"options" 過濾條件

  • 過濾多個(gè)輸入
    filter_input_array() 函數(shù)來過濾三個(gè) GET 變量遏乔。
  • Filter Callback
    調(diào)用自己的函數(shù),array("options"=>"xxx")

接口

聲明一個(gè)接口以及內(nèi)部的方法妨托,但不需要具體內(nèi)容缸榛。
interface iTemplate
{
}
實(shí)現(xiàn)接口
class Template implements iTemplate

Mysql

創(chuàng)建連接 new mysqli($servername, $username, $password);
檢測連接 $conn->connect_error
關(guān)閉連接 $conn->close(); mysqli_close($conn);
SQl語句 $conn->query()

PDO

開啟擴(kuò)展 extension=php_pdo.dll
初始化新對象 $dbh = new PDO($dsn, $user, $pass);
錯(cuò)誤對象 PDOException

  • 預(yù)處理
    mysqli_stmt_bind_param($stmt, 'sss', $firstname, $lastname, $email);

SQL語句

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

AJAX

能夠默寫出
XMLHttpRequest 對象用于和服務(wù)器交換數(shù)據(jù), open() 和 send() 方法

open

xmlhttp.open("GET/POST",服務(wù)器上的文件,async:true(異步)或 false(同步));
如果需要使用兰伤,必須true異步内颗,必須確定onreadystatechange 事件中的就緒狀態(tài)時(shí)執(zhí)行的函數(shù);如果小型請求中false同步敦腔,不需要onreadystatechange 函數(shù) 均澳,獲取的代碼放到 send() 語句后面即可:
常用GET,以下使用POST:

  • 無法使用緩存文件(更新服務(wù)器上的文件或數(shù)據(jù)庫)
  • 向服務(wù)器發(fā)送大量數(shù)據(jù)(POST 沒有數(shù)據(jù)量限制)
  • 發(fā)送包含未知字符的用戶輸入時(shí)符衔,POST 比 GET 更穩(wěn)定也更可靠
  1. 在open()中傳入的php文件找前, 如果不加參數(shù)常使用的緩存文件,可以將文件后參數(shù)添加改成
    demo_get.php?t=" + Math.random()
  2. GET 方法發(fā)送信息判族,向 URL 添加信息:

send

xmlhttp.send(); 僅為post請求

  1. 像 HTML 表單 POST 數(shù)據(jù)躺盛,使用 setRequestHeader() 來添加 HTTP 頭。在 send() 方法中規(guī)定發(fā)送的數(shù)據(jù):
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlhttp.send("fname=Henry&lname=Ford");
    其中 setRequestHeader(header,value)

response

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

onreadystatechange

  • readyState 屬性存有 XMLHttpRequest 的狀態(tài)信息形帮,判斷改變時(shí)觸發(fā)onreadystatechange 函數(shù)槽惫,數(shù)字代表:
    0: 請求未初始化
    1: 服務(wù)器連接已建立
    2: 請求已接收
    3: 請求處理中
    4: 請求已完成,且響應(yīng)已就緒
  • status數(shù)字代表:
    1xx:信息響應(yīng)類沃缘,表示接收到請求并且繼續(xù)處理
    2xx:處理成功響應(yīng)類躯枢,表示動作被成功接收、理解和接受 200: "OK"
    3xx:重定向響應(yīng)類槐臀,為了完成指定的動作锄蹂,必須接受進(jìn)一步處理
    4xx:客戶端錯(cuò)誤,客戶請求包含語法錯(cuò)誤或者是不能正確執(zhí)行 404: 未找到頁面
    5xx:服務(wù)端錯(cuò)誤水慨,服務(wù)器不能正確執(zhí)行一個(gè)正確的請求

所以 readyState 等于 4 且狀態(tài)為 200 時(shí)得糜,表示響應(yīng)已就緒。
首先判斷輸入框是否有數(shù)據(jù)晰洒,沒有即為空朝抖,有即執(zhí)行:

//創(chuàng)建XMLHttpRequest對象
if (window.XMLHttpRequest)
    {
        // IE7+, Firefox, Chrome, Opera, Safari 瀏覽器執(zhí)行的代碼
        xmlhttp=new XMLHttpRequest();
    }
else
    {    
        //IE6, IE5 瀏覽器執(zhí)行的代碼
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
//創(chuàng)建在服務(wù)器響應(yīng)就緒時(shí)執(zhí)行的函數(shù)
xmlhttp.onreadystatechange=function()
    {
        //state:  satus:
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
        }
    }
//向服務(wù)器上的文件發(fā)送請求,添加到 URL 末端的參數(shù)(q)(包含輸入框的內(nèi)容)
    xmlhttp.open("GET","gethint.php?q="+str,true);
    xmlhttp.send();

瀏覽器:創(chuàng)建xmlhttprequest對象谍珊,發(fā)送httprequest 給
Internet:處理httprequest并返回?cái)?shù)據(jù) 給
瀏覽器:JS處理返回的數(shù)據(jù) 治宣,更新內(nèi)容
簡單來說,創(chuàng)建XMLHttpRequest,open以后send給onreadystatechange中

回調(diào)函數(shù)

以參數(shù)形式傳遞給另一個(gè)函數(shù)的函數(shù)侮邀。將存在的多個(gè)AJAX函數(shù)引向同一個(gè)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. 允許多個(gè)域名訪問
$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:*');

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绊茧,一起剝皮案震驚了整個(gè)濱河市铝宵,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌华畏,老刑警劉巖鹏秋,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異亡笑,居然都是意外死亡侣夷,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進(jìn)店門况芒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惜纸,“玉大人,你說我怎么就攤上這事绝骚∧桶妫” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵压汪,是天一觀的道長粪牲。 經(jīng)常有香客問我,道長止剖,這世上最難降的妖魔是什么腺阳? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮穿香,結(jié)果婚禮上亭引,老公的妹妹穿的比我還像新娘。我一直安慰自己皮获,他們只是感情好焙蚓,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著洒宝,像睡著了一般购公。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上雁歌,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天宏浩,我揣著相機(jī)與錄音,去河邊找鬼靠瞎。 笑死比庄,一個(gè)胖子當(dāng)著我的面吹牛求妹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播印蔗,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼扒最,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了华嘹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤法竞,失蹤者是張志新(化名)和其女友劉穎耙厚,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體岔霸,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡薛躬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了呆细。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片型宝。...
    茶點(diǎn)故事閱讀 38,809評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖絮爷,靈堂內(nèi)的尸體忽然破棺而出趴酣,到底是詐尸還是另有隱情,我是刑警寧澤坑夯,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布岖寞,位于F島的核電站,受9級特大地震影響柜蜈,放射性物質(zhì)發(fā)生泄漏仗谆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一淑履、第九天 我趴在偏房一處隱蔽的房頂上張望隶垮。 院中可真熱鬧,春花似錦秘噪、人聲如沸狸吞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捷绒。三九已至,卻和暖如春贯要,著一層夾襖步出監(jiān)牢的瞬間暖侨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工崇渗, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留字逗,地道東北人京郑。 一個(gè)月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像葫掉,于是被迫代替她去往敵國和親些举。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容

  • 這里講的是原生的ajax數(shù)據(jù)請求俭厚,也是比較基礎(chǔ)的户魏,適合新手去看 一.效果圖 HTML: <!DOCTYPE> 實(shí)時(shí)...
    九尾74閱讀 1,542評論 0 1
  • 1、談?wù)勀銓hp挪挤、mysql叼丑、apache的認(rèn)識 (評分標(biāo)準(zhǔn):4-3-3) PHP:是一種通用開源腳本語言。語法...
    3hours閱讀 439評論 0 2
  • 之前我寫過一篇《多Web服務(wù)器之間共享Session的解決方案》扛门,今天在網(wǎng)絡(luò)上看到一篇PHP高手Nio寫的文章鸠信,覺...
    galenv閱讀 390評論 2 1
  • 屬于簡易版,比較適合沒有后臺基礎(chǔ)的初學(xué)者入門论寨,使用Ajax響應(yīng)php對mysql數(shù)據(jù)庫進(jìn)行操作星立,將網(wǎng)站搭建在xam...
    dovlie閱讀 937評論 0 5
  • 創(chuàng)建XMLHttpRequest 對象 所有現(xiàn)代瀏覽器(IE7+、Firefox葬凳、Chrome绰垂、Safari 以及...
    Miracle_6e4f閱讀 441評論 0 0