如何在yii2中创建一个简单的html表单?
我试过了如何在yii2中创建一个简单的html表单?,html,yii2,Html,Yii2,我试过了 <form id='blah' action='myActionController' method='post'> //fields here <input type='submit' name='submit' value='button name' /> </form> 我只是不想使用活动窗体。。。 那么,如何在不使用内置yii的情况下在普通html版本中创建表单呢 活动表单?在yii2中,如果您想要myActionController的链接
<form id='blah' action='myActionController' method='post'>
//fields here
<input type='submit' name='submit' value='button name' />
</form>
我只是不想使用活动窗体。。。
那么,如何在不使用内置yii的情况下在普通html版本中创建表单呢
活动表单?在yii2中,如果您想要myActionController的链接,则应使用此符号 (假设您有一个名为
site
的控制器和一个名为myActionController
的操作)
//这里的田地
可能是您需要正确的url,对于这一点,UrlHelper可能很有用
这边
use yii\helpers\Url;
.....
echo "<form id='blah' action='" . Url::to(['/site/my-action-controller']) .
"' method='post'>";
使用yii\helpers\Url;
.....
回声“;
在yii2中,如果您想要myActionController的链接,则应使用此符号
(假设您有一个名为site
的控制器和一个名为myActionController
的操作)
//这里的田地
可能是您需要正确的url,对于这一点,UrlHelper可能很有用
这边
use yii\helpers\Url;
.....
echo "<form id='blah' action='" . Url::to(['/site/my-action-controller']) .
"' method='post'>";
使用yii\helpers\Url;
.....
回声“;
您需要添加CSRF数据,以便对提交内容进行验证
最简单的方法是使用静态方法\yii\web\Html::beginForm()
,它将为您实现这一点(并注意生成正确的表单标记)
生成表单的代码如下所示:
<?= \yii\web\Html::beginForm('myActionController') ?>
<input type='submit' name='submit' value='button name'>
<?= \yii\web\Html::endForm() ?>
当然,您可以关闭CSRF验证,但不建议这样做。如果没有此验证,您的普通表单将起作用。您需要添加CSRF数据以验证您的提交 最简单的方法是使用静态方法
\yii\web\Html::beginForm()
,它将为您实现这一点(并注意生成正确的表单标记)
生成表单的代码如下所示:
<?= \yii\web\Html::beginForm('myActionController') ?>
<input type='submit' name='submit' value='button name'>
<?= \yii\web\Html::endForm() ?>
当然,您可以关闭CSRF验证,但不建议这样做。如果没有此验证,您的普通表单将正常工作。最好的方法是克隆已在使用sendEmail功能的现有ContactForm模型,并添加您自己的属性、规则和属性。在sendEmail函数中,您可以将希望在->setTextBody中接收的所有必要字段作为字符串包含,并使用如下连接:
public function sendEmail($email)
{
return Yii::$app->mailer->compose()
->setTo($email)
->setFrom([$this->email => $this->name])
->setSubject($this->subject)
->setTextBody($this->name. ' ' .'has requested'. 'space here'. $this->customfield. ' etc.')
->send();
}
自定义contactForm模型后,您可以复制站点控制器上的actionContact,并将其作为actionIndex或任何内容添加到表单控制器中,还可以复制公共函数actions()上的验证码和错误
现在我们将用yii2创建一个简单的html表单,如下所示:
在我的示例中,我使用registerForm作为我的模型(注意我如何在yii2的id和name字段中使用该模型来发送表单而不会出现问题)
选择机构的类型*
中学
高中
学院
大学
最好的方法是克隆已经在使用sendEmail功能的现有ContactForm模型,并添加您自己的属性、规则和属性。在sendEmail函数中,您可以将希望在->setTextBody中接收的所有必要字段作为字符串包含,并使用如下连接:
public function sendEmail($email)
{
return Yii::$app->mailer->compose()
->setTo($email)
->setFrom([$this->email => $this->name])
->setSubject($this->subject)
->setTextBody($this->name. ' ' .'has requested'. 'space here'. $this->customfield. ' etc.')
->send();
}
自定义contactForm模型后,您可以复制站点控制器上的actionContact,并将其作为actionIndex或任何内容添加到表单控制器中,还可以复制公共函数actions()上的验证码和错误
现在我们将用yii2创建一个简单的html表单,如下所示:
在我的示例中,我使用registerForm作为我的模型(注意我如何在yii2的id和name字段中使用该模型来发送表单而不会出现问题)
选择机构的类型*
中学
高中
学院
大学
是的,我是通过谷歌搜索找到的,所以我加了这个。是的,我是通过谷歌搜索找到的,所以我加了这个
<?php
namespace register\models;
use Yii;
use yii\base\Model;
class RegisterForm extends Model
{
public $name;
public $institution;
public $number;
public $pname;
public $email;
public $verifyCode;