從零開始學 Web 之 Ajax(二)PHP基礎語法
一、PHP 基礎語法
1、基本結構
- 所有PHP程式碼都要寫到
<?php ... ?>
裡面。 - PHP檔案可以和 HTML 檔案結合進行使用。
- PHP檔案的預設副檔名是 ".php"。
- PHP程式碼必須在伺服器上執行。
2、列印語句
echo: 的作用在頁面中輸入字串(只能列印字串,數字等簡單型別)
print_r :輸出複雜型別
var_dump :輸出複雜型別
<?php echo "hello Daotin."; echo "<br>"; echo 123; echo "<br>"; print_r([1,2,3,4,5]); echo "<br>"; var_dump([1,2,3,4,5]); ?>
列印結果:
hello Daotin.
123
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
array (size=5)
0 => int 1
1 => int 2
2 => int 3
3 => int 4
4 => int 5
3、變數的宣告和使用
變數的宣告和使用都需要加 "$" 符號。
$str = "Hello";
echo $str;
4、字串的拼接
字串的拼接不是使用 "+",而是使用 "."
$str1 = "Hello"; $str2 = "World"; echo $str1 . " " . $str2;
5、PHP的執行原理
瀏覽器是不識別 PHP 檔案的,用瀏覽器發開 PHP 檔案,只會顯示 PHP 的原始碼,所以 PHP 檔案必須在伺服器中執行。其實 apache 伺服器也識別不了 PHP 檔案,是 apache 將 PHP 檔案再交給 PHP 模組處理的,最後 apache 將處理之後的網頁內容返回。
6、陣列
一維陣列的定義:
$arr = array();
$arr[0] = "10";
$arr[1] = "20";
$arr[2] = "30";
或者
$arr = array("10", "20", "30");
注意:陣列是複雜型別,不能使用 echo 直接列印,只能列印其中的某個元素,複雜型別使用 print_r 或者 var_dump。
示例:
$arr1 = array();
$arr1[0] = "10";
$arr1[1] = "20";
$arr1[2] = "30";
$arr2 = array("40", "50", "60");
// echo $arr1; // 不能直接列印陣列
print_r($arr1);
var_dump($arr2);
echo json_encode($arr1); // 將陣列轉化成 json 格式列印,轉化後是 字串格式,可以使用echo。
列印結果:
Array ( [0] => 10 [1] => 20 [2] => 30 )
array (size=3)
0 => string '40' (length=2)
1 => string '50' (length=2)
2 => string '60' (length=2)
["10","20","30"]
陣列的下標索引自定義
$arr = array("index1"=>"40", "index2"=>"50", "index3"=>"60");
print_r($arr);
或者只自定義其中幾個:
$arr = array("40", "index"=>"50", "60");
print_r($arr);
此時 "40" 的下標為 0, "60" 的下標為1。
自定義所以的方式不可以使用 for 迴圈遍歷陣列,因為其下標已經不是 0,1,2 了。
要使用 foreach 的方式。(key 為索引,value 為索引對應的值)
foreach($arr as $key => $value) {
echo $key . "---" . $value . "<br>";
}
二維陣列的定義:
$arr = array();
$arr[0] = array("1", "2", "3");
$arr[1] = array("4", "5", "6");
var_dump($arr);
echo json_encode($arr);
列印結果:
array (size=2)
0 =>
array (size=3)
0 => string '1' (length=1)
1 => string '2' (length=1)
2 => string '3' (length=1)
1 =>
array (size=3)
0 => string '4' (length=1)
1 => string '5' (length=1)
2 => string '6' (length=1)
[["1","2","3"],["4","5","6"]]
7、函式
系統函式:比如:
json_encode:PHP中將陣列轉化為 json 格式的字串。
var_dump:輸出複雜的資料型別
print_r:輸出複雜的資料型別
count:得到陣列的長度
自定義函式:
和 js 類似,以 function 進行宣告。
function add($num1, $num2) {
return $num1 + $num2;
}
8、預定義變數
我們知道,動態網頁會根據不同的需求展示不同的介面,那麼是怎麼做到的呢?
請求型別
請求的時候是需要攜帶引數的,用來表示不同的要求,根據引數的不同,而展示不同的介面。
根據引數攜帶的位置不同,可以簡單把請求分為 Get 請求 和 Post 請求。
get 請求:跟在 URL 後面,用問號 "?" 連線,多個引數之間用 & 連線。
post 請求:引數在請求體中。
獲取請求引數的值
$_GET["屬性名字"]
:獲取 get 請求的屬性的值。
$_POST["屬性名字"]
:獲取 post 請求的屬性的值。
8.1、get請求
示例:php 獲取使用者登入名和密碼進行校驗
<!--html程式碼-->
<!--省略程式碼-->
<body>
<h1>登入介面</h1>
<form action="check.php" method="GET">
使用者名稱:<input type="text" name="username"> <br>
密 碼:<input type="password" name="passwd"> <br>
<input type="submit" value="提交">
</form>
</body>
// php程式碼
<?php
$username = $_GET["username"];
$password = $_GET["passwd"];
if(($username == "Daotin") && ($password == "123")) {
echo "Login Success!";
} else {
echo "Login Failed!";
}
?>
8.2、post 請求
<!--HTML主要程式碼-->
<h1>登入介面</h1>
<form action="check.php" method="POST">
使用者名稱:<input type="text" name="username"> <br>
密 碼:<input type="password" name="passwd"> <br>
<input type="submit" value="提交">
</form>
<?php
$username = $_POST["username"];
$password = $_POST["passwd"];
if(($username == "Daotin") && ($password == "123")) {
echo "Login Success!";
} else {
echo "Login Failed!";
}
?>
get 請求和 post 請求的區別:
1、get 請求會把請求引數放在 URL 中,而 post 請求則放在請求體中,post 請求更安全。
2、所以,一般get請求是獲取伺服器的資料,post 請求是向伺服器提交一些資料。
二、結語
大家可以發現,我們之前做的 get 和 post 請求,在提交之後,是會進行頁面跳轉的,從當前的html介面跳轉到php介面了,那麼有沒有辦法可以不進行跳轉,就在當前介面得到伺服器返回的資料呢?敬請關注下期 Ajax 的內容,它可以做到。
相關推薦
從零開始學 Web 之 Ajax(二)PHP基礎語法
一、PHP 基礎語法 1、基本結構 所有PHP程式碼都要寫到 <?php ... ?> 裡面。 PHP檔案可以和 HTML 檔案結合進行使用。 PHP檔案的預設副檔名是 ".php"。 PHP程式碼必須在伺服器上執行。 2、列印語句 echo: 的作用在頁面中輸入字串(只能列印字串,數字等
從零開始學 Web 之 ES6(三)ES6基礎語法一
arr 方法 foreach reac 公眾 存在 lock 數組名 回調函數 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔 博
從零開始學 Web 之 ES6(六)ES6基礎語法四
實現 fine 開始 isf 原理 mat 系列教程 include number 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔
從零開始學 Web 之 ES6(四)ES6基礎語法二
一、Promise Promise是一個物件,代表了未來某個將要發生的事件(,這個事件通常是一個非同步操作) 有了Promise物件, 可以將非同步操作以同步的流程表達出來, 避免了層層巢狀的回撥函式(俗稱'回撥地獄')。 ES6的Promise是一個建構函式, 用來生成promise例項。 1、prom
從零開始學 Web 之 ES6(五)ES6基礎語法三
一、Generator Generator 函式是 ES6 提供的一種非同步程式設計解決方案。 Generator 函式有多種理解角度。語法上,首先可以把它理解成,Generator 函式是一個狀態機,封裝了多個內部狀態。 執行 Generator 函式會返回一個遍歷器物件,也就是說,Generator
從零開始學 Web 之 Ajax(三)Ajax 概述,快速上手
lan 技術分享 php 概述 由於 val asc logs 更新 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔 博客園:ht
從零開始學 Web 之 Ajax(五)同步異步請求,數據格式
遊記 document 空閑 name center 20px 實現 resp 也會 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之
從零開始學 Web 之 Ajax(六)jQuery中的Ajax
var 技術分享 else parse cnblogs 我會 clas alt jquer 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web
從零開始學 Web 之 Ajax(五)同步非同步請求,資料格式
一、同步請求與非同步請求 同步請求:在使用者進行請求傳送之後,瀏覽器會一直等待伺服器的資料返回,如果網路延遲比較高,瀏覽器就一直卡在當前介面,直到伺服器返回資料才可進行其他操作。 非同步請求:在使用者進行請求傳送之後,瀏覽器可以自由操作頁面中其他的元素,當伺服器放回資料的時候,才觸發相應事件,對返回的資料
從零開始學 Web 之 Ajax(四)介面文件,驗證使用者名稱唯一性案例
>大家好,這裡是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... > > - github:https://github.com/Daotin/Web > - 微信公眾號:[Web前端之巔](https://github.com/Daotin/pi
從零開始學 Web 之 Ajax(一)伺服器相關概念
一、伺服器和客戶端 伺服器和客戶端都是電腦,在硬體層面上沒有明顯的劃分,配置很差的個人電腦任然可以作為伺服器。 伺服器如果想對外提供服務,必須安裝相應的軟體,所以不是伺服器這臺電腦可以提供服務,而是其安裝的軟體提供的服務。比如: HTTP網頁服務:Apache,Tomcat,IIS等 檔案上傳下載服務:V
從零開始學 Web 之 Ajax(七)跨域
一、跨域 跨域這個概念來自一個叫 “同源策略” 的東西。同源策略是瀏覽器上為了安全考慮實施的非常重要的安全機制。 Ajax 預設只能獲取到同源的資料,對於非同源的資料,Ajax是獲取不到的。 什麼是同源? 協議、域名、埠全部相同。 如果使用 Ajax 獲取非同源的資料,會報錯,報錯資訊如下: Fail
從零開始學 Web 之 jQuery(二)獲取和操作元素的屬性
eight images idt 隱藏 lis 屬性 ner master lin 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔
從零開始學 Web 之 HTML5(二)表單,多媒體新增內容,新增獲取操作元素,自定義屬性
器) user 對比 style 按鈕 ont mp3 url -- 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔 博客園:ht
從零開始學 Web 之 CSS3(二)顏色模式,文字陰影,盒模型,邊框圓角,邊框陰影
一、顏色模式 顏色模式有兩種: RGBA rgba(0,0,0,0.5); //黑色,透明度0.5 HSLA(顏色(0~360),飽和度(0%~100%),明度(0%~100%),透明度(0~1)) 紅橙黃綠青藍紫紅:顏色從 0~360 順序,各佔30度。比如紅色為0,黃色為120,綠色為240。
從零開始學Web之HTML(二)標籤、超連結、特殊符號、列表、音樂、滾動、head等
大家好,這裡是 Daotin 從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 一、標籤 1、單標籤 註釋標籤
從零開始學 Web 之 DOM(二)對樣式的操作,獲取元素的方式
大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 1、對樣式的操作
從零開始學 Web 之 ES6(二)ES5的一些擴充套件
一、json物件擴充套件 把一個Json物件轉換成字串 JSON.stringify(js物件/陣列); 把一個json格式的字串轉換成Json物件 JSON.parse(json物件/陣列); 示例: <script type="text/javascript"> var o
從零開始學 Web 之 JavaScript(二)變數
大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 一、變數 1、變數
從零開始學 Web 之 BOM(二)定時器
一、定時器 BOM 中有兩中方式設定定時器。 1、方式一 特點:定時器可以重複使用。 // 引數有兩個: // 第一個引數:定時器定時結束處理函式 // 第二個引數:定時事件,單位毫秒。 // 返回值:定時器id值 var timeId = window.setInterval(function()