function new_photo()
{
if(!empty($this->data))
{
$this->data['Photo']['showcase_id'] = $this->Session->read('CurrShowcase.id');
$this->data['Photo']['added'] = date("Y-m-d H:i:s");
$this->Showcase->Photo->save($this->data);
$flasher = 'Photo uploaded successfully';
$flasher .= '<br/><img src="' . $this->data['Photo']['thumbnail_url'] . '"/>';
$this->Session->setFlash($flasher);
//$this->redirect(array('action'=>'sc',));
}
}
J'ai un contrôleur Showcase dans mon application CakePHP, et un nouveau formulaire photo pour soumettre de nouvelles photos. Chaque fois que je décommenter la dernière ligne qui redirige après les données sont enregistrées, je reçois cette erreur:En-têtes déjà envoyé une erreur dans l'application CakePHP
Warning (2): Cannot modify header information - headers already
sent by (output started at D:\.....
Même si je reçois cette erreur, $ this-> données obtient encore enregistrée correctement dans la base de données. Cependant, si je commente la ligne de redirection comme indiqué ci-dessus, tout fonctionne correctement et sans erreur. J'ai vérifié les espaces vides autour des étiquettes, donc je suis presque sûr que ce n'est pas ça.
Des idées?
Modifier: en commentant l'instruction setFlash ne résout pas le problème.
Avez-vous essayé de rediriger vers une autre action? Pourquoi ne supprimes-tu pas la virgule après 'sc'? – bancer
La virgule était l'un des problèmes. J'avais en fait un print_r ($ this-> Session-> read ('CurrUser.username')); print_r ($ this-> Session-> read ('CurrShowcase.id')); avant l'instruction if qui a causé quelques problèmes. – vette982