yii2 - 召神 yii的表单怎么写的!!!别踩我 TAT
本文介绍了yii2 - 召神 yii的表单怎么写的!!!别踩我 TAT的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
是这样以前用TP的 现在手上有个yii2程序 要改一个地方 是修改数据的 呃就是这样.
-----------------分割线---------------------
现在我点击了一个按钮这个按钮通过get方式向actionEdit发出了一个id=45的请求
这条数据需要被修改
假设这条数据还有name字段 和password(明文没加密)字段
我要如何把通过id=45找到这条数据然后渲染到from表单中
下面是我的控制器代码
public function actionEdit()
{
$request = \YII::$app->request;
if($request->post()){
}else{
$id = $request->get('id');
$result = Ppp::find()->where(['id' => "$id"])->asArray()->one();
// print_r($result);
return $this->render('_form',$result);
}
}
视图代码
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
use yii\helpers\ArrayHelper;
?>
<?php $form = ActiveForm::begin(); ?>
<?php ActiveForm::end(); ?>
我自己折腾有一会(我不会说我看了1天文档)各种看文档然后跑这里来找前辈指教
最终要的效果就是我点击了修改按钮后对actionEdit发送了一个get请求
然后我就得到了一个表单页面
表单本生的值不是空的
渲染查询出的数据
然后修改名字 密码 点击提交actionEdit收到post修改数据完成
然后就剩下代码没写出来ORZ
解决方案
public function actionEdit($id)
{
$result = Ppp::findOne($id);
if(empty($result)){
throw new Exception('404 Not Found');
}
$request = \Yii::$app->request;
if($request->isPost){
$result->load(\Yii::$app->request->getBodyParams());
if($result->validate() && $result->save()){
echo '保存成功';
}else{
echo '保存失败';
}
\Yii::$app->end();
}else{
return $this->render('_form',[
'model'=>$result
]);
}
}
<?php $form = ActiveForm::begin(['id' => 'login-form']); ?>
<?= $form->field($model, 'username') ?>
<?= $form->field($model, 'password')->passwordInput() ?>
<div class="form-group">
<?= Html::submitButton('Login', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?>
</div>
<?php ActiveForm::end(); ?>
这篇关于yii2 - 召神 yii的表单怎么写的!!!别踩我 TAT的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文