yii 返回的地址也可以这样写
1. Yii::app()->user->returnUrl = Yii::app()->getBaseUrl()."/step/show/id/1";
$this->redirect(Yii::app()->user->returnUrl);
2. $this->redirect(array('step/show','id'=>1));
3. $this->render('index',array('post'=>$questions));
4. $this->renderPartial('field_show',array('field'=>$field,'key'=>++$key,));
注意:有的时候$this->render、$this->redirect在同一个action中应用,程序会报错原因如下
1.当我们创建新的form的时候 我们应用2中方法,
1》FillForm.php class FillForm extends CFormModel 这样可以把这个表单中每个项目用php进行核查是否符合规则,在FillForm.php public function rules()中创建规则
2》直接在继承数据库表时候创建表单的核查规则 Post.php (post是库中的表)class Post extends CActiveRecord 在Post.php 中 public function rules() 中创建规则
2. 在继承CFormModel类后同一个action中就不能同时出现$this->render、$this->redirect,否则会报错
变通办法如下在controller中创建2个action对应一个form
public function actionFill()
{
$form=new FillForm;
$this->render('fill',array('form'=>$form));
}
public function actionUpdatePass()
{
if(isset($_POST['password']))
{
//XXX
$this->redirect(array('step/show','id'=>1));
}
else
$this->refresh();
}
}
在tpl中设置 <?php echo CHtml::beginForm('UpdatePass',$method='post',array("id"=>"fillForm")); ?>
近期评论