J'ai un problème avec le modèle dans mon app. Je reçois cette erreur d'envoyer des informations sur les en-têtes. Fondamentalement, le codeigniter se plaint de mon modèle d'enregistrement envoie des informations d'en-tête avant toute autre chose. Comment est-ce possible? Je pensais que les modèles ne sont que pour détenir des méthodes de requêtes de DB et rien de plus. Quelqu'un peut-il s'il vous plaît expliquer cela?
Voici comment le début d'un contrôleur ressemble à: p>
3 Réponses :
Notez que les en-têtes doivent être envoyés PHP code> ainsi que la fin de la balise
?> code> à votre vue. p>
Merci Sarfraz pour l'indice - j'ai mis un espace blanche et un commentaire avant la classe du contrôleur. Après avoir retiré, tout est retourné à la normale.
Yup, avait un espace avant PHP! Merci!
Un simple espace blanc vissé mes 30 minutes (merci pour la pointe @sarfraz
Vient de passer 2 jours à comprendre cela et presque jeté mon ordinateur portable à travers la pièce, partout dans un seul espace avant la PHP Tag !!!
En fait, une partie du fournisseur d'accueil utilise PHP La seule solution est donc utilisée JavaScript pour résoudre ce problème, je l'utilise! Son puits de travail. P> en-tête (); code> pour rediriger notre site, donc dans ce type de serveurs si nous utilisons php
en-tête () code> il sera Donnez l'erreur. Je pense que oui. Dans le code Igniter
Redirection (); code> utilise php
en-tête () code> pour rediriger notre URL. C'est donc pourquoi cela donnera cette erreur!
//Your Code is for redirect
redirect('site/function1');
//Alternate Code for solve this issue
$url = 'site/function1';
echo'
<script>
window.location.href = "'.base_url().'index.php?/'.$url.'";
</script>
';
Placez cet ob_start (); sur la première ligne de index.php strong> Dans votre répertoire d'applications, comme celui-ci: <?php
ob_start();
/*
*---------------------------------------------------------------
* APPLICATION ENVIRONMENT
*---------------------------------------------------------------
Pourriez-vous me dire pourquoi cela a travaillé dans mon cas? +1 btw
Cela fonctionne mais pourquoi ?? b>, quelqu'un peut-il expliquer?
Selon @sarfraz Réponse, ob_start (); allumera la mise en mémoire tampon de sortie. Bien que la mémoire tampon de sortie est active, aucune sortie n'est envoyée du script (autre que les en-têtes).
Sir @gery génial ... sa solution mon problème.
Je dois me connecter pour voter +1, merci
Dans quel fichier utilisez-vous les fonctions d'en-tête, le contrôleur ou la vue?
Je reçois toutes les informations d'en-tête dans la vue Sarfaz. J'aurais dû mention que j'avais besoin de réécrire mon enregistrement_model.php parce que je l'ai perdu lorsque j'ai essayé de le télécharger sur le serveur (j'ai perdu la connexion à l'époque) et je n'ai rien fait de sauvegarde (je connais un terrible Sin Programmers ne devrait jamais commettre). Mais au moins je sais qu'il y a quelque chose qui ne va pas avec mon fichier de modèle.
Avez-vous vérifié pour WhitSpace avant / après PHP-Tags?
Veuillez indiquer le message d'erreur exact que vous obtenez.