在 yii2 中向控制器发送表单数据的问题
issue in sending form data to controller in yii2
我想将表单数据从我的视图发送到控制器以将数据插入数据库。我已经创建了模型和控制器,但是当我通过操作将表单发送到控制器时。它只是刷新页面,数据没有传递给控制器,只是加载索引页面。这是我的表格:
<div class="container">
<!--<div style="text-align:right;" class="row">
<h3>ارسال توییت جدید</h3>
</div>-->
<div class="row">
<div class="col-md-12" >
<div class="widget-area no-padding blank">
<div class="status-upload">
<!--<form method="POST" action="?r=twit/send-twit">-->
<?php
$form = ActiveForm::begin([
'options' => ['action' => '?r=twit/send-twit']
]);
?>
<?= $form->field($model,'twit')->textarea(); ?>
<!--<textarea name="twitContent" style="text-align:right;" placeholder="...توییت خود را وارد کنید" ></textarea>-->
<!--<ul>
<li><a title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Audio"><i class="fa fa-music"></i></a></li>
<li><a title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Video"><i class="fa fa-video-camera"></i></a></li>
<li><a title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Sound Record"><i class="fa fa-microphone"></i></a></li>
<li><a title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Picture"><i class="fa fa-picture-o"></i></a></li>
</ul>-->
<!--<button name="submit" type="submit" class="btn btn-success green"><i class="fa fa-send"></i> ارسال توییت</button>-->
<?= Html::SubmitButton('ارسال',['class' => 'btn btn-success green']); ?>
<!--</form>-->
<?php ActiveForm::end(); ?>
</div><!-- Status Upload -->
</div><!-- Widget Area -->
</div>
</div>
</div>
这是我的控制器动作,它在 twitController
class 中,不会被执行,数据也不会传递到那里:
public function actionSendTwit()
{
$request = Yii::$app->request;
$sag = $request->post('twit');
die();
if ($request->post('twit')){
$twitContent = $request->post('twit');
Twit::sendTwit($twitContent);
\yii::$app->response->redirect('?r=twit/index',301)->send();
}
}
像这样尝试
$form = ActiveForm::begin([
'action' => ['controller/action'],
]);
代替这个
$form = ActiveForm::begin([
'options' => ['action' => '?r=twit/send-twit']
]);
参考Docs
我想将表单数据从我的视图发送到控制器以将数据插入数据库。我已经创建了模型和控制器,但是当我通过操作将表单发送到控制器时。它只是刷新页面,数据没有传递给控制器,只是加载索引页面。这是我的表格:
<div class="container">
<!--<div style="text-align:right;" class="row">
<h3>ارسال توییت جدید</h3>
</div>-->
<div class="row">
<div class="col-md-12" >
<div class="widget-area no-padding blank">
<div class="status-upload">
<!--<form method="POST" action="?r=twit/send-twit">-->
<?php
$form = ActiveForm::begin([
'options' => ['action' => '?r=twit/send-twit']
]);
?>
<?= $form->field($model,'twit')->textarea(); ?>
<!--<textarea name="twitContent" style="text-align:right;" placeholder="...توییت خود را وارد کنید" ></textarea>-->
<!--<ul>
<li><a title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Audio"><i class="fa fa-music"></i></a></li>
<li><a title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Video"><i class="fa fa-video-camera"></i></a></li>
<li><a title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Sound Record"><i class="fa fa-microphone"></i></a></li>
<li><a title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Picture"><i class="fa fa-picture-o"></i></a></li>
</ul>-->
<!--<button name="submit" type="submit" class="btn btn-success green"><i class="fa fa-send"></i> ارسال توییت</button>-->
<?= Html::SubmitButton('ارسال',['class' => 'btn btn-success green']); ?>
<!--</form>-->
<?php ActiveForm::end(); ?>
</div><!-- Status Upload -->
</div><!-- Widget Area -->
</div>
</div>
</div>
这是我的控制器动作,它在 twitController
class 中,不会被执行,数据也不会传递到那里:
public function actionSendTwit()
{
$request = Yii::$app->request;
$sag = $request->post('twit');
die();
if ($request->post('twit')){
$twitContent = $request->post('twit');
Twit::sendTwit($twitContent);
\yii::$app->response->redirect('?r=twit/index',301)->send();
}
}
像这样尝试
$form = ActiveForm::begin([
'action' => ['controller/action'],
]);
代替这个
$form = ActiveForm::begin([
'options' => ['action' => '?r=twit/send-twit']
]);
参考Docs