2015-12-23 7 views
8

Desidero inviare i dati del modulo dalla mia vista al controller per inserire i dati nel database. Ho creato il modello e il controller ma quando invio il modulo al controller con l'azione. Ha appena aggiornato la pagina in cui i dati non vengono passati al controller, verrà caricata solo la pagina dell'indice. Questa è la mia forma:problema nell'invio dei dati del modulo al 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> 

e qui è la mia azione di controllo che è in twitController di classe e non sarà eseguita e il dato non è passato lì:

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(); 
     } 
    } 

risposta

7

provare come questo

$form = ActiveForm::begin([ 
    'action' => ['controller/action'], 
]); 

al posto di questo

$form = ActiveForm::begin([ 
       'options' => ['action' => '?r=twit/send-twit'] 
      ]); 

Refer Docs