Я хочу отправить данные формы из моего представления в контроллер, чтобы вставить данные в базу данных. Я создал модель и контроллер, но когда я отправляю форму контроллеру с действием. Он просто обновил страницу, данные не передаются в контроллер, просто будет загружена страница индекса. Это моя форма:
<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
класс и не будет выполнен и данные не будут переданы туда:
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']
]);
обращаться Документы
Других решений пока нет …