1. 程式人生 > >從零開始學 Web 之 Ajax(二)PHP基礎語法

從零開始學 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 AjaxPHP基礎語法

一、PHP 基礎語法 1、基本結構 所有PHP程式碼都要寫到 <?php ... ?> 裡面。 PHP檔案可以和 HTML 檔案結合進行使用。 PHP檔案的預設副檔名是 ".php"。 PHP程式碼必須在伺服器上執行。 2、列印語句 echo: 的作用在頁面中輸入字串(只能列印字串,數字等

開始 Web ES6ES6基礎語法

arr 方法 foreach reac 公眾 存在 lock 數組名 回調函數 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔 博

開始 Web ES6ES6基礎語法

實現 fine 開始 isf 原理 mat 系列教程 include number 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔

開始 Web ES6ES6基礎語法

一、Promise Promise是一個物件,代表了未來某個將要發生的事件(,這個事件通常是一個非同步操作) 有了Promise物件, 可以將非同步操作以同步的流程表達出來, 避免了層層巢狀的回撥函式(俗稱'回撥地獄')。 ES6的Promise是一個建構函式, 用來生成promise例項。 1、prom

開始 Web ES6ES6基礎語法

一、Generator Generator 函式是 ES6 提供的一種非同步程式設計解決方案。 Generator 函式有多種理解角度。語法上,首先可以把它理解成,Generator 函式是一個狀態機,封裝了多個內部狀態。 執行 Generator 函式會返回一個遍歷器物件,也就是說,Generator

開始 Web AjaxAjax 概述,快速上手

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 AjaxjQuery中的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。

開始WebHTML標籤、超連結、特殊符號、列表、音樂、滾動、head等

大家好,這裡是 Daotin 從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 一、標籤 1、單標籤 註釋標籤

開始 Web DOM對樣式的操作,獲取元素的方式

大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 1、對樣式的操作

開始 Web ES6ES5的一些擴充套件

一、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()