2010-03-27 5 views
0

Avertissement (2): Impossible de modifier les informations d'en-tête - en-têtes déjà envoyés par (sortie démarrée sous /Applications/MAMP/htdocs/iframeworking/iframe/app/models/frame.php:7) [COREcake/libs/controller/controller. php, ligne 647]Lorsque j'utilise le composant Auth avec CakePHP, je continue de commettre cette erreur. Pourquoi?

ici est le code de frame.php:

<?php 
class Frame extends AppModel 
{ 
    var $name = 'Frame'; 
var $belongsTo = array('User' => array('className' => 'User', 'dependent' => true)); 
} 
?> 

Répondre

2

Vous avez probablement un espace après votre balise de fermeture php (?>).

Ma recommandation est de faire une habitude de ne pas fermer vos balises PHP dans vos contrôleurs et modèles (et d'autres fichiers PHP uniquement). PHP parser ne nécessite pas la balise de fermeture à la fin du fichier (il est implicite) et il vous permettra de sauver des maux de tête dans le futur (même si elle aura l'air "drôle" au début).

En d'autres termes, cela devrait fixer:

<?php 
class Frame extends AppModel 
{ 
    var $name = 'Frame'; 
    var $belongsTo = array('User' => array(/*...*/); 
} 
+1

+1, ne savait pas. En fait, une version récente d'Eclipse PDT a commencé à le faire avec de nouveaux fichiers PHP, et j'ai pensé que c'était un bug! –

0

Vous faites une sortie au navigateur Web en /models/frame.php ligne 7. C'est probablement trop tôt dans le processus - je don Je ne connais pas Cake, mais je présume que les fichiers modèles doivent contenir uniquement des classes de modèles et pas de code "actif".

Notez que même l'espace blanc avant le <? ou <?php compte comme sortie.

0

Vous avez un espace après '?>' En bas. Enlever cela va résoudre le problème.

Questions connexes