3.part3-2day PHPのフォーム

学習目標:相互作用の前と後

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つのバイナリマスクパラメータ(オプション)

おすすめ

転載: www.cnblogs.com/ldwtry/p/12185575.html