Scambio dati tra view e controller

Salve a tutti, sono nuovissimo di yii e sto cercando di capire come funziona lo scambio di dati tramite form tra la view ed il controller.

Non ho utilizzato il widget beginform perchè a quanto pare ci deve essere pure un model, a me interessa invece memorizzare i dati in variabili e quindi ho utilizzato la classe CHtml.

La view:




<?php echo CHtml::beginForm('', 'post', array('class'=>'contactform')); ?>    

                        <p>Nome (*)</p>

                        <p>

                            <?php echo CHtml::textField('Text', '', array('id'=>'nome','class'=>'input-text')) ?>

                        </p>

                        <br />

                        <p>Cognome (*)</p>

                        <p>

                            <?php echo CHtml::textField('Text', '', array('id'=>'cognome','class'=>'input-text')) ?>

                        </p>

                        <br />

                        <p>E-Mail (*)</p>

                        <p>

                            <?php echo CHtml::textField('Text', '', array('id'=>'email','class'=>'input-text')) ?>

                        </p>

                        <br />

                        <p>Telefono (*)</p>

                        <p>

                            <?php echo CHtml::textField('Text', '', array('id'=>'telefono','class'=>'input-text')) ?>

                        </p>

                        <input id="submit"  type="submit"/>

                    <?php echo CHtml::endForm(); ?>



Nel controller invece dovrei ricevere tramite post i dati.




class ContattiController extends Controller

{

	public function actionIndex()

	{

            if (isset($_POST['submit'])){

                $nome=$_POST['nome'];

                

            }

            

                $this->render('index'); 

	}

}



Vorrei capire come posso ricevere i dati e poi fare un redirect una volta inviato il form. Inoltre vorrei sapere se è possibile fare la validazione del form lato client e server.

usa un model di tipo FormModel invece che ActiveRecord, come ad esempio fa nell’app di esempio il form contattaci.