CakePHP 表單處理

WBOY
發布: 2024-09-10 17:26:25
原創
334 人瀏覽過

CakePHP 提供了各種內建標籤來輕鬆安全地處理 HTML 表單。與許多其他 PHP 框架一樣,HTML 的主要元素也是使用 CakePHP 產生的。以下是用於產生 HTML 元素的各種函數。

以下函數用於產生選擇選項

表>

以下函數用於產生HTML選擇元素

語法 _selectOptions( 陣列$elementsarray()、陣列$parentsarray()、布林值$showParentsnull、陣列$attributesarray( ) )
參數
  • Syntax _selectOptions( array $elementsarray(), array $parentsarray(), boolean $showParentsnull, array $attributesarray() )
    Parameters
    • Elements to format

    • Parents for OPTGROUP

    • Whether to show parents

    • HTML attributes

    Returns array
    Description Returns an array of formatted OPTION/OPTGROUP elements
    要格式化的元素
  • OPTGROUP 的家長

  • 是否向家長展示
  • HTML 屬性
    Syntax select( string $fieldName, array $options array(), array $attributes array() )
    Parameters

    Name attribute of the SELECT

    Array of the OPTION elements (as 'value'=>'Text' pairs) to be used in the SELECT element.

    Returns Formatted SELECT element.
    Description Returns a formatted SELECT element.
回傳 數組
描述 傳回格式化 OPTION/OPTGROUP 元素的陣列
表> 以下函數用於
在HTML頁面上產生按鈕
語法 select( 字串 $fieldName, 陣列 $options array(), 陣列 $attributes array() )
參數
Syntax

Button(string $title, array $optionsarray() )

Parameters
  • The button's caption. Not automatically HTML encoded.

  • Array of options and HTML attributes

Returns HTML button tag.
Description

Creates a tag. The type attribute defaults to type="submit". You can change it to a different value by using $options['type'].

SELECT 的名稱屬性

要在 SELECT 元素中使用的 OPTION 元素陣列(作為「值」=>「文字」對)。

回傳 格式化的 SELECT 元素。
描述 傳回格式化的 SELECT 元素。
Syntax Checkbox(string $fieldName, array $optionsarray() )
Parameters
  • Name of a field, like this "Modelname.fieldname"

  • Array of HTML attributes. Possible options are value, checked, hiddenField, disabled, default.

Returns An HTML text input element.
Description Creates a checkbox input widget.

將其變更為不同的值 表> 以下函數用於在 HTML 頁面上產生複選框。
語法 按鈕(字串 $title, 陣列 $optionsarray() )
參數
  • 按鈕的標題。不會自動進行 HTML 編碼。
  • Syntax create( mixed $modelnull , array $optionsarray() )
    Parameters
    • The model name for which the form is being defined. Should include the plugin name for plugin models. e.g. ContactManager.Contact. If an array is passed and $options argument is empty, the array will be used as options. If false, no model is used.

    • An array of html attributes and options. Possible options are type, action, url, default, onsubmit, inputDefaults, encoding.

    Returns

    A formatted opening FORM tag.

    Description Returns an HTML FORM element.
    選項與 HTML 屬性陣列
回傳 HTML 按鈕標籤。
描述

建立 標籤。 type 屬性預設為

type="submit"
。您可以使用
Syntax

file(string $fieldName, array $optionsarray() )

Parameters
  • Name of a field, in the form "Modelname.fieldname"

  • Array of HTML attributes.

Returns

A generated file input.

Description

Creates file input widget.

$options['type'].
表> 以下函數用於在 HTML 頁面上建立表單。
語法 複選框(字串$fieldName,數組$optionsarray())
參數
  • 欄位名稱,例如「Modelname.fieldname」
  • HTML 屬性陣列。可能的選項有 value、checked、hiddenField、disabled、default。
回傳 HTML 文字輸入元素。
描述 建立一個複選框輸入小工具。
表> 以下函數用於在HTML頁面提供檔案上傳功能。
語法 create(混合$modelnull,陣列$optionsarray())
參數
  • 正在定義表單的模型名稱。應包含插件模型的插件名稱。例如聯絡人管理器.聯絡人。如果傳遞一個陣列且 $options 參數為空,則該陣列將用作選項。如果為 false,則不使用任何模型。
  • html 屬性和選項的陣列。可能的選項有類型、操作、url、預設、onsubmit、inputDefaults、編碼。
回傳 格式化的開始 FORM 標籤。
描述 傳回 HTML FORM 元素。
表>

以下函數用於在 HTML 頁面上建立隱藏元素

語法 檔案(字串 $fieldName, 陣列 $optionsarray() )
參數
  • 欄位名稱,格式為「Modelname.fieldname」
  • HTML 屬性陣列。
回傳 產生的檔案輸入。
描述 建立文件輸入小工具。
表> 以下函數用於在 HTML 頁面上產生 輸入元素
語法
Syntax

hidden( string $fieldName , array $optionsarray() )

Parameters
  • Name of a field, in the form of "Modelname.fieldname"

  • Array of HTML attributes.

Returns

A generated hidden input

Description

Creates a hidden input field

隱藏(字串 $fieldName , 陣列 $optionsarray() )
參數
  • 欄位名稱,格式為「Modelname.fieldname」

  • HTML 屬性陣列。
回傳
產生的隱藏輸入
Syntax

Input(string $fieldName , array $options array() )

Parameters
  • This should be "Modelname.fieldname"

  • Each type of input takes different options

Returns

Completed form widget

Description

Generates a form input element complete with label and wrapper div

描述 建立隱藏輸入欄位

Syntax

Radio(string $fieldName , array $optionsarray() , array $attributesarray() )

Parameters
  • Name of a field, like this "Modelname.fieldname"

  • Radio button options array.

  • Array of HTML attributes, and special attributes above.

Returns Completed radio widget set
Description Creates a set of radio widgets. Will create a legend and fieldset by default. Use $options to control this.
表>
以下函數用於在 HTML 頁面上產生
語法

輸入(字串 $fieldName , 陣列 $options array() )

參數
  • 這應該是「模型名稱.欄位名稱」
  • 每種類型的輸入都有不同的選項
    Syntax Submit(string $caption null, array $options array() )
    Parameters
    • The label appearing on the button OR if string contains :// or the extension .jpg, .jpe, .jpeg, .gif, .png. Use an image if the extension exists, AND the first character is /, image is relative to webroot, OR if the first character is not /, image is relative to webroot/img.

    • Array of options. Possible options are div, before, after, type etc.

    Returns

    An HTML submit button

    Description Creates a submit button element. This method will generate elements that can be used to submit, and reset forms by using $options. Image submits can be created by supplying an image path for $caption.
回傳 已完成的表單小工具

描述 產生一個包含標籤和包裝 div 的表單輸入元素
Syntax

Textarea(string $fieldName , array $options array() )

Parameters
  • Name of a field, in the form "Modelname.fieldname"

  • Array of HTML attributes, special option like escape

Returns A generated HTML text input element
Description Creates a textarea widget
單選按鈕

表>
<?php use Cake\Http\Middleware\CsrfProtectionMiddleware;
use Cake\Routing\Route\DashedRoute;
use Cake\Routing\RouteBuilder;
$routes->setRouteClass(DashedRoute::class);
$routes->scope('/', function (RouteBuilder $builder) {
   $builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([
      'httpOnly' => true,
   ]));
   $builder->applyMiddleware('csrf');
   //$builder->connect('/pages',['controller'=>'Pages','action'=>'display', 'home']);
   $builder->connect('register',['controller'=>'Registrations','action'=>'index']);
   $builder->fallbacks();
});
登入後複製

以下函數用於在 HTML 頁面上產生 提交 按鈕。

語法

Radio(字串$fieldName , 陣列$optionsarray() , 陣列$attributesarray() )

參數
  • 欄位名稱,例如「Modelname.fieldname」
  • 單選按鈕選項陣列。

  • HTML 屬性數組,以及上面的特殊屬性。
回傳 完成的無線電小部件集
描述 建立一組無線電小部件。預設將建立圖例和欄位集。使用 $options 來控制它。
表>
<?php namespace App\Controller;
   use App\Controller\AppController;
   class RegistrationsController extends AppController{
      public function index(){
         $country = array('India','United State of America','United Kingdom');
         $this->set('country',$country);
         $gender = array('Male','Female');
         $this->set('gender',$gender);
      }
   }
?>
登入後複製
以下函數用於

在 HTML 頁面上產生文字區域元素

語法 提交(字串 $caption null,數組 $options array() )
參數
  • 出現在按鈕上的標籤,或如果字串包含 :// 或副檔名 .jpg、.jpe、.jpeg、.gif、.png。如果擴展名存在,則使用圖像,並且第一個字元是 /,圖像相對於 webroot,或者如果第一個字元不是 /,圖像相對於 webroot/img。
  • 選項數組。可能的選項有 div、之前、之後、類型等。

回傳 HTML 提交按鈕
描述 建立一個提交按鈕元素。此方法將產生 可用於使用 $options 提交和重設表單的元素。可以透過為 $caption 提供影像路徑來建立影像提交。
表>

範例

<?php echo $this->Form->create(NULL,array('url'=>'/register'));
   echo '<label for="country">Country</label>';
   echo $this->Form->select('country',$country);
   echo '<label for="gender">Gender</label>';
   echo $this->Form->radio('gender ',$gender);
   echo '<label for="address">Address</label>';
   echo $this->Form->textarea('address');
   echo $this->Form->file('profilepic');
   echo '<div>'.$this->Form->checkbox('terms').
      '<label for="country">Terms &mp; CakePHP 表單處理s</label>
</div>';
   echo $this->Form->button('Submit');
   echo $this->Form->end();
?>
登入後複製
config/routes.php

檔案中進行更改,如下列程式碼所示。

config/routes.php

CakePHP 表單處理 建立 RegistrationsController.php 文件 src/Controller/RegistrationsController.php。 將以下程式碼複製到控制器檔案中。 src/Controller/RegistrationsController.php 在 src/Template 處建立一個目錄 Registrations 並在該目錄下建立一個 View 文件,名稱為 index.php。 複製該檔案中包含以下程式碼。 src/Template/Registrations/index.php 透過造訪以下 URL 來執行上述範例 - http://localhost/cakephp4/register 輸出 執行後,您將收到以下輸出。
語法 Textarea(字串 $fieldName , 陣列 $options array() )
參數
  • 欄位名稱,格式為「Modelname.fieldname」
  • HTML 屬性數組,特殊選項,如轉義
回傳 產生的 HTML 文字輸入元素
描述 建立一個文字區域小工具

以上是CakePHP 表單處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php
上一篇:CakePHP 日誌記錄 下一篇:CakePHP 國際化
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
相關專題
更多>
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板