if (Yii::app()->request->isPostRequest) {
$model = new User('reset');
if (isset($_POST['User'])) {
$model->attributes = $_POST['User'];
if ($model->validate()) {
//change pasword etc
if ($user->save()) {
$this->render('reset', array('model' => $model, 'done' => 1));
}
} else {
$model->password = '';
$model->repeat_password = '';
$this->render('reset', array('model' => $model));
}
}
} elseif (isset($_GET['id']) && isset($_GET['key'])) {
$id = $_GET['id'];
$key = $_GET['key'];
$key_comp = ....;
if ($key == $key_comp) {
$this->render('reset', array('model' => $model, 'reset' => $key_comp));
} else {
$this->render(array('forgot'));
}
} else {
$this->redirect(array('forgot'));
}
我收到此错误: 无法修改标头信息 - 已发送的标头
当我更新密码,然后页面再次使用(完成变量)渲染时,密钥会更改,从而中断if ($key == $key_comp)
。
但是重定向正在向已经调用的渲染器发送到另一个页面。这显然不是最好的方法,需要一些整理,但我不认为可以采取单一行动。
可以完成还是必须分开?