我不知道但是前一段时间,重定向功能正在运行。但现在它给了我这个错误:
Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\NewFolder\app\webroot\relationship1\app\controllers\books_controller.php:114) [CORE\cake\libs\controller\controller.php, line 744]
这是我的控制器:C:\ xampp \ htdocs \ NewFolder \ app \ webroot \ trial \ app \ controllers \ users_controller.php
<?php
class UsersController extends AppController{
function register(){
if(!empty($this->data)){
if($this->User->save($this->data)){
$this->Session->setFlash('Data saved');
$this->redirect(array('action'=>'index'));
} else{
$this->Session->setFlash('Could not save data');
}
} else{
$this->Session->setFlash('Please fill this form');
}
}
function index(){
$users = $this->User->find('all');
$this->set('users',$users);
}
function login(){
//$this->Session->write('user','chams');
//pr($this->Session->read());
if(!empty($this->data)){
//pr($this->data['User']['username']);
$username = $this->data['User']['username'];
//if($this->User->read(NULL,$username)){
//$condition = array('User.username'=>$username);
if($this->User->findByUserName($username)){
pr('existing');
$data = $this->User->find('first',$username);
$this->set('data',$data);
if($this->redirect(array('action'=>'main'))){
$this->Session->setFlash('redirected to index');
}
} else{
pr('non existing');
}
}
}
}
?>
答案 0 :(得分:0)
我假设$this->set('data',$data);
填充模板,请尝试将其删除。您尝试重定向用户,因此无论如何它都是冗余的。
答案 1 :(得分:0)
在您的登录信息中,您可以写
$this->set('data', $data);
重定向之前,已发送标头输出。你应该修改登录方法:
.......
if($this->User->findByUserName($username)){
pr('existing'); // remove this
$data = $this->User->find('first',$username);
if($this->redirect(array('action'=>'main'))){
$this->Session->setFlash('redirected to index');
}
} else {
pr('non existing');
}
$this->set('data',$data);
.....
答案 2 :(得分:0)
<?php ob_start(); ?>
将此代码放入您的ctp