学習目標:相互作用の前と後
A、フォームフォーム
1.form
</フォーム>で終了し、<フォーム>から出発
フォームの属性は次のとおりです。
名前:フォームの名前
方法:セットのようなバックURLに渡されたメソッドのパラメータ、取得、フォーム、GETまたはPOSTメソッドを提出する:www.baidu.com名=トム&年齢= 15、渡されるポストメソッド隠されたパラメータを?
アクション:フォームページを処理するためのURL(位置の絶対的または相対位置であることができます)
ENCTYPE:設定フォームのコンテンツのエンコード
ターゲット:設定リターン表示情報は、新しいウィンドウを_blank、_parentは_topは、トップウィンドウに表示され、_selfは現在のウィンドウに表示され、親ウィンドウに表示しました
2.の内容をフォーム
タグフィールドを入力し、<入力/>、テキスト、テキスト、パスワード、パスワード、文書ファイル、画像イメージ、ワンボックスのラジオ、チェックボックスのチェックボックスは、提出提出し、フォームのリセットの内容をリセットし、ボタンボタン、隠された入力を隠します
アップロードフォームのmethod属性がポストに設定するときは、enctype属性は、マルチパート/フォームデータとして設定されます
複数行のテキスト・フィールド<TEXTAREA名= "名前" 行= "10" COLS = "10">行</ TEXTAREA>行数、列数をCOLS
どのように名前値のプルダウンメニューやチェックボックス
<?PHP // 单选 <SELECT NAME = "選択"> <オプション> 1 </オプション> <オプション> 2 </オプション> <オプション> 3 </オプション> </ select>の// 多选 <複数=を選択して」複数の」名前= "[]を選択して"> <オプション> 1 </オプション> <オプション> 2 </オプション> <オプション> 3 </オプション> </選択> // 复选框 の<input type = "チェックボックス" NAME = "趣味[]"値= "篮球" /> 篮球 の<input type = "チェックボックス" NAME = "趣味[]"値= "足球" /> 足球 <
どのように3.phpバックエンドのエキス
GETは$ _GET $ _POSTにより提出された記事は[「選択」]場合は、[「選択」]を提出した場合は、角括弧は、対応するフォームの名前です
4.フォームのバリデーション
データのアップロード判断は我々の要求に沿ったものである、あなたは正規表現を使用することができます
ISSET($ strが)変数が存在するか否かを判断します
(0が空であると見なされる)変数が空であるかどうか($ strの)空であります
二、htmlコード埋め込まれたPHPコード
上記の方法は、唯一の私たちは、PHPハンドラ方法が相互作用INSERTフロントページを使用し、背面に正面から提出することができます。今、私たちは代わりに、非同期技術のAJAXを使用しての、このモデルを持っていません。
つまり、それを処理するために$ _SERVER [ "PHP_SELF"]のphpファイル名を取得しますが、順番に通常利用されるべきではない(はhtmlspecialchars):はhtmlspecialchars($ _、SERVER [ "PHP_SELF"])
フォームのaction属性値はhtmlspecialchars($ _、SERVER [「PHP_SELF」])このページに提出することができ、以下の例:
<!DOCTYPE HTML> <HTML> <HEAD> <メイトchartset = "UTF-8"> <タイトル>表单</ TITLE> </ HEAD> <BODY> <?PHPの $名 = '' ; $趣味 = 配列(); もし($ _SERVER [ "REQUEST_METHOD"] == "POST" ){ $名 = $ _POST [ "名前" ]。 $趣味 = ISSET($ _POST [ "趣味"])?$ _POST [ "趣味"]; '' ; もし(空($名)){ $ nameErr = "名字不能为空" 。 } } ?> <フォームメソッド= "POST" ACTION = "<PHPはhtmlspecialchars(?$ _SERVER [" PHP_SELF "]);?>"> の<div> <INPUT TYPE = "text"の名= "名前" /> < BR /> <INPUT TYPE = "チェックボックス" NAME = "趣味[]"値= "篮球" /> 篮球 <INPUT TYPE = "チェックボックス" NAME = "趣味[]"値= "足球" /> 足球 <入力タイプ= "チェックボックス"名前= "趣味[]"のエコー '输入内容为<BR/>' エコー $名前。<BR/> ; もし(!空($趣味)){ foreachの($趣味 として $アイテム){ エコー $アイテム。'<BR/>' ; } } ?> </ BODY> </ HTML>
三、分離の後端のJSON前後端
今基本的に非同期のWebサイトには、それは、それを介してデータを渡しているものの後、前端と後端をページを更新するための要求を提出していないのだろうか?はいJSONデータ形式が使用されています
1.json_encode($値、JSON_NUMERIC_CHECK);エンコードされたJSON PHP変数形式のデータ、およびヘッドエンド変数PHPにこれを渡します。図1は、バイナリマスクパラメータに、符号化する可変パラメータである2
2.json_decode($ jsonValue、TRUE);変数PHPの先端の上を通過する復号JSON形式のデータ。図1は、パラメータ文字列の形式JSONでパラメータ2が真の配列を返し、オブジェクトが偽、再帰の深さパラメータは3(オプション)、4つのバイナリマスクパラメータ(オプション)