1、基礎php
(1)數組html
// 數組的建立 $arr = array("apple", "banana"); $arr = array("f1"=>"apple", "f2"=>"banana"); // 在php5.4以後 可使用 $arr = [1,2,3]; // 對於數組的遍歷 $arr_len = count($arr); // 須要注意數組的下標!!! // 相似 python 的 for key,value in arr: print key,"=>",value; foreach($arr as $key=>$value){ echo $key . "=>" . $value; }
2、表單處理python
(1)數據提交方式通常爲GET或POST。mysql
(2)表單涉及HTML基本知識。web
// action.php if ($_SERVR["REQUEST_METHOD"] == "POST"){ $name = str_input($_POST["name"]); } function str_input($data){ // 數據驗證處理... }
// 定義變量並設置爲空值 $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST"){ if (empty($_POST["name"])){ $nameErr = "Name is required!"; }else{ $name = test_input($_POST["name"]); } }
// 表單數據驗證,使用 正則表達式 ...
3、高級教程正則表達式
(1)多維數組sql
// 多維數組建立 $arr = [[1,2,3], [2,3,4]]; // 多爲數組的引用 $arr[0][0]
(2)時間和日期數據庫
// 設置默認時區 date_default_timezone_set("Asia/Shanghai"); // 獲取時間 date("Y/m/d h:m:s");
(3)include編程
// 使用include 引入某個文件,當文件不存在時,腳本會繼續執行。 // 當使用 require ,找不到文件時,require語句會返回嚴重錯誤,腳本中止執行。
(4)文件json
php擁有多個函數能夠建立,讀取,上傳和編輯文件。請謹慎操做文件
<?php $file = fopen("dic.txt", "r") or die("Unable to open file."); echo fread($file, filesize("dic.txt")); fclose($file); // 讀取文件的一行,文件的指針會指向下一行 // fgets($file); // 若是沒有 end of file, fgetc() 會將指針移動到下一個字符 while(!feof($file)){ echo fgetc($file); } // 文件的寫入 $text = "文本內容"; fwrite($file, $text); // 文件上傳 // ... ...
(5)Cookies
// cookie 經常使用於用戶識別。cookie是服務器留在用戶計算機上的小文件。每當相同的計算機經過瀏覽器請求頁面時,它同時會發送cookie。 // 建立cookie, 使用 setcookie()。 必須放在 <html> 標籤前面 setcookie(key, value, exprie, path, domain); setcookie("user", "root", time()+3600); // 取回cookie $_COOKIE["user"]; for($_COOKIE as $key=>$value){} // 判斷是否已經設置 cookie isset($_COOKIE["user"]); // 刪除cookie setcookie("user", "", time()-3600);
(6)Session
// session 變量用於存儲有關用戶會話的信息,或更改用戶會話的設置。 Session變量保存的信息是單一用戶的,而且可供應用程序中的全部頁面使用。 // Session的工做機制是:爲每一個訪問者建立惟一的UID,並基於這個UID來存儲變量。UID在cookie中,或url來進行傳導。 // 啓動會話,開啓session。須要放在 <html> 標籤前面 session_start(); // session 存儲變量 $_SESSION["views"] = 1; // session 變量的讀取 $_SESSION["views"]; if(isset($_SESSION["views"])){ $_SESSION["views"] = $_SESSION["views"] + 1; } else { $_SESSION["views"] = 1; } echo "views is " . $_SESSION["views"]; // session 的刪除 unset($_SESSION["views"]); // 或 session_destory();
(7)E-mail
(8)Error
在建立腳本和web應用程序時,錯誤處理是一個重要的部分。
// 不一樣的錯誤處理方法 // 基本的錯誤處理,使用 die() 函數 if(!file_exists("welcome.txt")){ die("File not found."); } else { $file = fopen("welcome.txt", "r"); } // 建立自定義錯誤處理器 error_function(error_level, error_message, error_file, error_line, error_context)// error_level, error_message 必選 // 觸發錯誤 trigger_error();
(9)Exception
異常(Exception)用於在指定的錯誤發生時改變腳本的正常流程。
// ...
(10)Filter
過濾器用於驗證和過濾來自非安全來源的數據。
驗證和過濾用戶輸入或自定義數據時任何web應用程序的重要組成部分。
// 什麼是外部數據 // ①來自表單的輸入數據 ②Cookies ③服務器變量 ④數據庫查詢結果 $int = "asd"; if(filter_var($int, FILTER_VALIDATE_INT)){ echo "數字"; } else { echo "非數字"; }
4、MySQL數據庫
(1)數據庫鏈接
$con = mysqli_connect(servername, username, password); if(!$con){ die("數據庫鏈接失敗!"); } // 必定不要忘記關閉鏈接資源 mysqli_close($con);
(2)建立數據庫
// CREATE DATABASE database_name; $sql = "CREATE DATABASE my_db"; if(mysqli_query($sql, $con)){ echo "數據庫建立成功"; } else { echo "數據庫建立失敗:" . mysqli_error(); } mysqli_close($con);
(3)建立數據庫表
<?php // 建立數據庫鏈接 $con = mysqli_connect("localhost", "root", ""); if(!$con){ echo ""; } // 建立數據庫 if(mysqli_query("CREATE DATABASE my_db", $con)){ echo ""; } else { echo "" . mysqli_error; } // 選擇數據庫 // 對於數據庫的選擇,固然可使用 「select * from my_db.person」 mysqli_select_db("my_db", $con); // 建立sql語句 $sql = "CREATE TABLE Person ( FirstName varchar(15), LastName varchar(15), Age int )"; // 執行sql mysqli_query($sql, $con); // 關閉數據庫鏈接 mysqli_close($con); ?>
一個比較完整點的例子:
$con = mysqli_connect("localhost", "root", "944898186"); if(!$con){ die("數據庫鏈接失敗!\n"); } else { echo "數據庫鏈接成功!\n"; } //if(mysqli_query($con, "CREATE DATABASE my_db")){ // echo "數據庫建立成功!\n"; //} else { // echo "數據庫建立失敗!\n"; //} mysqli_select_db($con, "my_db"); //$sql = "CREATE TABLE Persons //( //personID INT NOT NULL AUTO_INCREMENT, //PRIMARY KEY (personID), //FirstName VARCHAR (15), //LastName VARCHAR (15), //Age INT //)"; //$sql = "INSERT INTO Persons (FirstName, LastName, Age) //VALUES ('Peter', 'Griffin', '35')"; //$sql = "INSERT INTO Persons (FirstName, LastName, Age) //VALUES ('Glenn', 'Quagmire', '33')"; $sql = "SELECT * FROM Persons"; $results = mysqli_query($con, $sql); while($row = mysqli_fetch_array($results)){ echo $row["FirstName"]."=>".$row["LastName"]."\n"; } mysqli_close($con);
(4)ODBC
ODBC是一種應用程序編程接口(Application Programming Interface,API),使咱們有能力鏈接到某個數據源。
// 鏈接到 ODBC odbc_connect() //函數用於鏈接到ODBC數據源。四個參數:數據源名稱,用戶名,密碼,可選的指針類型參數 odbc_exec() //函數用於執行SQL語句 odbc_fetch_row() //從結果集中返回記錄 odbc_close() // 關閉ODBC鏈接
5、XML
xml用於數據的描述。XML文件描述了數據結構。在xml中沒有預約義標籤,須要定義本身的標籤。
// DOM 解析 // SimpleXML PHP5中的新特性 <?php $xml = simplexml_load_file("text.xml"); echo $xml->getName() . "<br>"; foreach($xml->children() as $child){ echo $child->getName() . ":" . $child . "<br>"; } ?>
6、AJAX
AJAX = Asynchronous JavaScript And XML(異步 JavaScript 及 XML)
AJAX是一種技術,能夠建立更好、更快且交互性更強的web應用程序。AJAX使用JavaScript在web瀏覽器和web服務器之間發送和接收數據。
var XMLHttp = null if (window.XMLHttpRequest){ XMLHttp = new XMLHttpRequest() } else if (window.ActiveXObject){ XMLHttp = new ActiveXObject("Microsoft.XMLHTTP") } // 仍是研究 JQuery 的 AJAX 吧 ... ... // AJAX只是提供異步的請求,服務器端的數據處理基本沒什麼變化 ... ...
7、其餘
PHP基本內容算是差很少了吧。剩下的就是看下PHP常見框架,以及再熟悉下 regx,json,xpath ....
下面研究下 JQuery 啥的吧...