yii2.0 如何创建from表单
Posted *琴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了yii2.0 如何创建from表单相关的知识,希望对你有一定的参考价值。
好久没有回顾yii2了,现在回想,已经不记得原来是怎么做的了,现在写在这里,也不怕忘了
首先,我们得创建一个模型,根据官网
先将通读一下,不然很多都不知道为什么 ,简单完整的模型
namespace app\\models;
use yii\\base\\Model;
class EntryForm extends Model{
public $name;
public $email;
public function rules(){
return[
[[\'name\',\'email\'],\'required\'],
[\'email\',\'email\'],
];
}
}
控制器中要先引入model :
use app\\models\\EntryForm
public function actionIndex() { $model=new EntryForm(); return $this->render(\'index\',[ \'model\'=>$model ]); }
view里面
<?php use yii\\helpers\\html; use yii\\widgets\\ActiveForm; ?> <?php $form = ActiveForm::begin(); ?> <?= $form->field($model, \'name\') ?> <?= $form->field($model, \'email\') ?> <?= Html::submitButton(\'Login\') ?> <?php ActiveForm::end(); ?>
如果要进行表单提交等操作,应这样写
<?php $form = ActiveForm::begin( [ \'action\'=>[\'login/list\'], \'method\'=>\'post\', ] ); ?> <?= $form->field($model, \'name\') ?> <?= $form->field($model, \'email\') ?> <?= Html::submitButton(\'提交\') ?> <?php ActiveForm::end(); ?>
当我们不想用yii2.0这样的来写表单,想用HTML时,需要这样
<?=HTML::csrfMetaTags()?> <form action="<?=\\yii\\helpers\\Url::to([\'update\'])?>" method="post" > 姓名:<input type="text" name="name" value="<?=Html::encode("{$data[\'name\']}") ?>" ><br> 邮箱:<input type="text" name="email" value="<?=Html::encode("{$data[\'email\']}") ?>" ><br> <input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app->request->csrfToken ?>"> <input type="submit" value="修改" > </form>
如果页面中没有
<?=HTML::csrfMetaTags()?>
<input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app->request->csrfToken ?>">
这两个的时候,我们写出来的HTML页面的form表单是没法提交的,因为这两个在页面上会生成一个csrf
这两个csrf必须一致
运行
如果不想用yii2.0自带的样式 两种方式:
在控制器中加上 public $layout=false; 或者将 $this->render 换成 $this->renderPartial
数据接收
public function actionList(){ $request=Yii::$app->request; //接收所有参数 $data=$request->bodyParams; $post=$request->post(); }
这两种方法均是接收所有的数据
总结
视图渲染的几种方法
render :渲染一个 视图名 并使用一个 布局 返回到渲染结果。
renderPartial:渲染一个 视图名 并且不使用布局
renderAjax():渲染一个 视图名 并且不使用布局, 并注入所有注册的JS/CSS脚本和文件,通常使用在响应AJAX网页请求的情况下
多看官网文档,多看,
需要增删改查的可以去这里 http://www.cnblogs.com/qinmei/p/7055498.html
以上是关于yii2.0 如何创建from表单的主要内容,如果未能解决你的问题,请参考以下文章