PHP基礎回顧之表單(二)

2022-09-15 01:03:10 字數 1439 閱讀 2922

$_get、$_post 和$_request 的區別?

- $_get 變數接受所有以 get 方式傳送的請求,及瀏覽器位址列中的 ? 之後的內容。在 html 表單中使用 method=」get」 時,所有的變數名和值都會顯示在 url 中,並且不適合大型的變數值

- $_post 變數接受所有以 post 方式傳送的請求。post 方法的表單傳送的資訊,對任何人都是不可見的(不會顯示在瀏覽器的位址列),並且對傳送資訊的量也沒有限制

- $_request 支援兩種方式傳送過來的請求,即 post 和 get 它都可以接受,顯示不顯示要看傳遞方法,get 會顯示在 url 中(有字元數限制),post 不會在 url 中顯示,可以傳遞任意多的資料(只要伺服器支援)。

表單驗證

我們應該盡可能的對使用者的輸入進行驗證(通過客戶端指令碼)。瀏覽器驗證速度更快,並且可以減輕伺服器的壓力。

如果使用者輸入需要插入資料庫,您應該考慮使用伺服器驗證。在伺服器驗證表單的一種好的方式是,把表單的資料傳給當前頁面(非同步提交的方式更好),而不是跳轉到不同的頁面。這樣使用者就可以在同一張表單頁面得到錯誤資訊。使用者也就更容易發現錯誤了。

">
什麼是$_server[「php_self」] 變數?

$_server[「php_self」]是超級全域性變數,返回當前正在執行指令碼的檔名,與 document root相關。

所以,$_server[「php_self」] 會傳送表單資料到當前頁面,而不是跳轉到不同的頁面。

注意:$_server[「php_self」] 變數有可能會被黑客使用!

當黑客使用跨**指令碼的http鏈結來攻擊時,$_server[「php_self」]伺服器變數也會被植入指令碼。原因就是跨**指令碼是附在執行檔案的路徑後面的,因此$_server[「php_self」]的字串就會包含http鏈結後面的j**ascript程式**。用htmlspecialchars() 函式來避免被利用。

什麼是 htmlspecialchars()方法?

htmlspecialchars() 函式把一些預定義的字元轉換為 html 實體,如下:

& (和號) 成為 &

" (雙引號) 成為 "

' (單引號) 成為 '

< (小於) 成為 <

> (大於) 成為 >

PHP基礎回顧之PHP JSON(六)

json 函式 php 陣列轉換為 json 格式資料 arr array a 1,b 2,c 3,d 4,e 5 echo json encode arr php 物件轉換為 json 格式資料 class emp e new emp e name sachin e hobbies sports ...

PHP基礎回顧之E mail(四)

php的mail 函式 php 簡易 e mail通過 php 傳送電子郵件的最簡單的方式是傳送一封文字 email。to someone example.com 郵件接收者 subject 引數郵件 郵件標題 message hello 這是郵件的內容。郵件正文 from someonelse e...

PHP基礎回顧

定義陣列 arr array 陣列賦值 arr i v arr array key v 定義鍵值key對應的值為v arr array v1,v2 迴圈訪問陣列 foreach arr as key value 去除兩側 左 右空格 trim ltrim rtrim str 獲取字串長度 strle...