php 基礎復習 2018-06-20
(1)PHP 過濾器(Filter)
PHP 過濾器用於驗證和過濾來自非安全來源的數據,比如用戶的輸入。
有兩種過濾器:
Validating 過濾器:
- 用於驗證用戶輸入
- 嚴格的格式規則(比如 URL 或 E-Mail 驗證)
- 如果成功則返回預期的類型,如果失敗則返回 FALSE
Sanitizing 過濾器:
- 用於允許或禁止字符串中指定的字符
- 無數據格式規則
- 始終返回字符串
示例1(filter_has_var()和filter_input()的使用):
if(!filter_has_var(INPUT_GET, "email")){ echo("Input type does not exist"); }else{ if (!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL)){ echo "E-Mail is not valid"; }else{ echo "E-Mail is valid"; } }
}
- 檢測是否存在 "GET" 類型的 "email" 輸入變量
- 如果存在輸入變量,檢測它是否是有效的郵件地址
示例二(filter_input_array() 的使用):
$filters= array( "name" => array("filter"=>FILTER_SANITIZE_STRING), "age" => array("filter"=>FILTER_VALIDATE_INT,"options"=>array("min_range"=>1,"max_range"=>120)), "email"=> FILTER_VALIDATE_EMAIL, ); $result = filter_input_array(INPUT_GET, $filters); if (!$result["age"]){ echo("Age must be a number between 1 and 120.<br />"); }elseif(!$result["email"]){ echo("E-Mail is not valid.<br />"); }else{ echo("User input is valid"); }
示例三(通過使用 FILTER_CALLBACK 過濾器,可以調用自定義的函數,把它作為一個過濾器來使用):
function convertSpace($string) { return str_replace("_", " ", $string); } $string = "Peter_is_a_great_guy!"; echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertSpace"));
(2)PHP MySQL 基本操作
//連接 $con = mysql_connect(servername,username,password); //關閉 mysql_close($con); //創建數據庫 create database database_name //創建表 CREATE TABLE table_name ( column_name1 data_type, column_name2 data_type, column_name3 data_type, ....... ) //選擇數據庫 mysql_select_db("my_db", $con);
註意:註釋:SQL 語句對大小寫不敏感。
(3)mysql的日期時間類型
- date(yyyy-mm-dd)
- datetime(yyyy-mm-dd hh:mm:ss)
- timestamp(yyyymmddhhmmss)
- time(hh:mm:ss)
(4)mysql 創建表
$sql = "CREATE TABLE Persons ( personID int NOT NULL AUTO_INCREMENT, PRIMARY KEY(personID), Name varchar(15), Age int )";
註意:主鍵的屬性AUTO_INCREMENT,單詞increment中沒有A。
(5)mysql_fetch_array(data,array_type)
data 可選。規定要使用的數據指針。該數據指針是 mysql_query() 函數產生的結果。
array_type 可選。規定返回哪種結果。可能的值:
MYSQL_ASSOC - 關聯數組
MYSQL_NUM - 數字數組
MYSQL_BOTH - 默認。同時產生關聯和數字數組
相關函數:
mysql_fetch_assoc(data) 從結果集中取得一行作為關聯數組。
mysql_fetch_rowc(data) 從結果集中取得一行作為數字數組。
mysql_fetch_object(data) 函數從結果集中取得一行作為對象。
mysql_fetch_field(data,field_offset) 函數從結果集中取得列信息並作為對象返回。
(6)PHP Database ODBC
ODBC 是一種應用程序編程接口(Application Programming Interface,API),使我們有能力連接到某個數據源(比如一個 MS Access 數據庫)。
通過一個 ODBC 連接,您可以連接到您的網絡中的任何計算機上的任何數據庫,只要 ODBC 連接是可用的。
(7)什麽是 XML?
- XML 指可擴展標記語言(EXtensible Markup Language)
- XML 是一種標記語言,很類似 HTML
- XML 的設計宗旨是傳輸數據,而非顯示數據
- XML 標簽沒有被預定義。您需要自行定義標簽。
- XML 被設計為具有自我描述性。
- XML 是 W3C 的推薦標準。
(8)XML語法:
XML 元素都須有關閉標簽。
XML 標簽對大小寫敏感。在 XML 中,標簽 <Letter> 與標簽 <letter> 是不同的。
XML 必須正確地嵌套。
XML 文檔必須有一個元素是所有其他元素的父元素。該元素稱為根元素。
XML 的屬性值須加引號。
XML 請用實體引用來代替 "< > & ‘ " " 字符。
XML 中的註釋,使用<!-- -->
XML 中,空格會被保留(HTML會把多個連續的空格字符裁減(合並)為一個)。
XML 以 LF 存儲換行。
(9)XML 命名規則
XML 元素必須遵循以下命名規則:
- 名稱可以含字母、數字以及其他的字符
- 名稱不能以數字或者標點符號開始
- 名稱不能以字符 “xml”(或者 XML、Xml)開始
- 名稱不能包含空格
可使用任何名稱,沒有保留的字詞。
(10)使用 CSS 顯示 XML
<?xml-stylesheet type="text/css" href="cd_catalog.css"?>,把這個 XML 文件鏈接到 CSS 文件.
(11)通過 PHP 生成 XML
header("Content-type:text/xml"); echo "<?xml version=‘1.0‘ encoding=‘ISO-8859-1‘?>"; echo "<note>"; echo "<from>John</from>"; echo "<to>George</to>"; echo "<message>Don‘t forget the meeting!</message>"; echo "</note>";
(12)PHP加載和輸出 XML
$xmlDoc = new DOMDocument(); $xmlDoc->load("note.xml"); print $xmlDoc->saveXML();
//循環輸出元素 $xmlDoc = new DOMDocument(); $xmlDoc->load("note.xml"); $x = $xmlDoc->documentElement; foreach ($x->childNodes AS $item){ print $item->nodeName . " = " . $item->nodeValue . "<br />"; }
//使用simpleXML $xml = simplexml_load_file("test.xml"); foreach($xml->children() as $child){ echo $child->getName() . ": " . $child . "<br />"; }
php 基礎復習 2018-06-20