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() ) TD>

参数
  • 字段名称,例如“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
作者最新文章
最新问题
相关专题
更多>
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板