1. 程式人生 > >php 基礎復習 2018-06-20

php 基礎復習 2018-06-20

什麽是 ack 1.5 bsp 標點符號 key 循環 prim lang

(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"; } }
}
  1. 檢測是否存在 "GET" 類型的 "email" 輸入變量
  2. 如果存在輸入變量,檢測它是否是有效的郵件地址

示例二(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