今天我們要來學(xué)習(xí)的是get php頁面的相關(guān)知識,當(dāng)我們使用GET請求來請求一個頁面時,我們向服務(wù)器發(fā)送的數(shù)據(jù)就會附在URL中,也就是說這個數(shù)據(jù)是暴露在外面的,本文將會詳細介紹get請求的實現(xiàn)原理以及get請求在實際開發(fā)中的應(yīng)用。
當(dāng)我們在瀏覽器中輸入URI時,實際上我們就是在使用GET請求,下面是一個簡單的例子:
http://localhost/test.php?id=123&name=Tom
以上的URI就是一個本地服務(wù)器根目錄下的test.php,接收到的參數(shù)分別是ID和name,這里我們發(fā)送的是一條GET請求。而在實際開發(fā)中,我們也會經(jīng)常使用GET請求來實現(xiàn)一些常見的業(yè)務(wù)邏輯。
比如說,一個學(xué)生想查詢自己的考試成績,他需要將自己的學(xué)號和密碼通過GET請求傳遞到服務(wù)器上,并以頁面形式呈現(xiàn)出來,下面是一個簡單的實現(xiàn)代碼:
// 客戶端查詢成績 <form method="get" action="score.php"> <input type="text" name="id" placeholder="請輸入學(xué)號"/> <input type="password" name="pw" placeholder="請輸入密碼"/> <button type="submit">查詢成績</button> </form> // 服務(wù)器返回成績 $id = $_GET['id']; $pw = $_GET['pw']; $score = getScore($id,$pw); // 根據(jù)學(xué)號和密碼查詢成績 echo "您的成績是".$score;
以上代碼是一個非常簡單的實現(xiàn),只需要將學(xué)號和密碼發(fā)送到服務(wù)端,服務(wù)端再進行查詢操作,并返回成績即可。
除了查詢成績之外,GET請求在實際開發(fā)中還有很多應(yīng)用場景,比如搜索,篩選,分類等等。下面我們看看一個電商網(wǎng)站的分類查詢:
// 客戶端提交分類請求 <a href="products.php?category=1">手機類</a> <a href="products.php?category=2">電腦類</a> <a href="products.php?category=3">家電類</a> // 服務(wù)器返回分類內(nèi)容 $category = $_GET['category']; $products = getProducts($category); // 根據(jù)分類查詢商品列表 foreach($products as $product){ echo "<h3>".$product['name']."</h3>"; echo "<p>".$product['description']."</p>"; echo "<img src='".$product['image']."'/>"; }
以上代碼實現(xiàn)了一個電商網(wǎng)站的分類查詢功能,客戶端點擊對應(yīng)的分類鏈接,就能將對應(yīng)的分類ID傳遞到服務(wù)器上,服務(wù)器再進行查詢操作并返回對應(yīng)的商品列表。
最后,我們來看一下GET請求的一些優(yōu)缺點。優(yōu)點是GET請求可以被瀏覽器緩存,因為GET請求發(fā)送的是一條簡單的URI,因此可以被瀏覽器緩存下來,減少對服務(wù)器的請求,提高性能;缺點是GET請求的數(shù)據(jù)是暴露在URL中的,容易被攻擊者竊取,因此不適合傳遞敏感信息。
文章到這里就結(jié)束了,希望能夠?qū)Υ蠹依斫釭ET請求有所幫助。