headers already sent
Deze foutmelding krijg ik. Waarom? Google verteld mij dat ik geen php ervoor mag uitvoeren. Andere sites zeggen dat ik helemaal niks mag uitvoeren. Zelf heb ik op localhost iets waar ik gewoon eerst output heb en dan header('Location: index.php'); heb waar die het gewoon doet. Ligt dit aan de versie van PHP ofzo?
Gewijzigd op 12/10/2012 17:37:53 door Albert de Wit
statement. eerst een spatie of een lege regel of what ever zal je een foutmelding veroorzaken.
In PHP moet je de headers verzenden VOOR iedere vorm van output, dus vóór je eerste echo maar ook mag er geen uitvoer zijn voor je Gewijzigd op 12/10/2012 17:22:31 door Frank Nietbelangrijk
dit houd dus in dat als jij eerst ergens HTML output, en vervolgens header ("Location: page.php") gebruikt, dat niet werkt.
De naam van de functie zegt het ook al. Je voegt headers toe, je kan niet de headers nog veranderen nadat je de body al gestuurd hebt.
Goeie tip trouwens, volgende keer je code er ook bij zetten. Je vraag een vraag van wat er fout gaat zonder dat wij kunnen zien wat je doet.
Gewijzigd op 12/10/2012 17:41:52 door Cake Masher
<html>
<head>
</head>
<body>
Code (php)
</body>
</html>
Dit werkt wel gewoon in mijn localhost.
Als dit wel werkt in mijn localhost, waarom zeg je dan dat zoiets nooit werkt? Je kraamt eigenlijk gewoon dikke onzin uit want schijnbaar lukt het mij wel.
Gewijzigd op 12/10/2012 17:32:11 door Albert de Wit
Albert de Wit op 12/10/2012 17:27:37:
Als dit wel werkt in mijn localhost, waarom zeg je dan dat zoiets nooit werkt? Je kraamt eigenlijk gewoon dikke onzin uit want schijnbaar lukt het mij wel.
Albert, in dat geval wens ik je veel succes. Bij deze help ik je ook niet meer.
Gewijzigd op 12/10/2012 17:34:16 door Cake Masher
Wat je deed was een poging om te helpen. Je had het alleen fout. Iemand anders die dit mysterie kan oplossen? Er heeft al 1 iemand opgegeven....
Zo niet, dan staat/staan je error_reporting, en/of display_errors-setting(s) niet goed.
grappig genoeg word ik dan wel doorgestuurd naar index.php?bluhawd
Dan is je probleem opgelost?
dan heb je ergens output_buffering aanstaan.
Toevoeging op 12/10/2012 17:44:21:
Cake Masher op 12/10/2012 17:42:19:
Dan is je probleem opgelost?
kijk naar mijn eerste post?
Albert de Wit op 12/10/2012 17:43:15:
kijk naar mijn eerste post?
Dat heb ik gedaan, daar is mijn antwoord op gebaseerd. Jij teste localhost waar het anders op ingesteld is en wel werkte. Nu ga jij mij vertellen dat ik onzin uitkraam terwijl ik je 't antwoord op je vraag gewoon geef.
Je vraagt Aar nu hoe jij je localhost server in stelt om die zelfde foutmelding terug te krijgen. Uiteindelijk komt het allemaal op 't zelfde neer ;). Het antwoord op die vraag, is volgens mij gebruik maken van de functie 'ob_end_flush'.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php ob_end_flush (); ?>
<html>
<head>
</head>
<body>
<?php
echo 'awdawwd';
header('Location: index.php?bluhawd');
?>
</body>
</html>
<html>
<head>
</head>
<body>
<?php
echo 'awdawwd';
header('Location: index.php?bluhawd');
?>
</body>
</html>
Gewijzigd op 12/10/2012 17:50:37 door Cake Masher
2. Ik vraag - Aar - vooral hoe ik die uit de weg ga.
Mij boeit die foutmelding niet, ik wil alleen doorgestuurd worden naar de andere pagina.
Dit is een testdingetje opgezet bij 000webhost
http://headerssent.net16.net/index.php
Je kan toch ook nette PHP-code schrijven zonder output voor de headers?
Quote:
Mij boeit die foutmelding niet, ik wil alleen doorgestuurd worden naar de andere pagina.
En daarvoor moet je dus die foutmelding begrijpen!
Albert, wij steken hier met z'n alle tijd om jou VRIENDELIJK te helpen. Zou je AUB even de moeite willen nemen ook normaal te reageren? Je kraakt nu elk antwoord dat er gegeven wordt af en Cake Masher stop je weg als een klein kind die het weer eens beter denk te weten. Nee, tel eerst eens tot 100, ga even avondeten en kom om 8 uur weer terug, lees dan nog eens de reacties en pas de tips toe op je code. En tata, je zult zien dat het werkt.
Toevoeging op 12/10/2012 17:55:52:
Maar - Aar -, als ik dat ook kan zonder headers voor de output, waarom dan niet?
Albert, omdat je script dan fout is. Een goed script heeft alle logica boven zijn HTML code, voor de output.
Toevoeging op 12/10/2012 17:59:32:
Wouter J, het hoeft niet meer hoor. Dank je wel CakeMasher, het werkt
Bouw jij ook altijd de fundering NA dat je jouw huis hebt gebouwd?
Ik raad je toch aan om even om naar deze reacties te kijken. Ze zeggen je juist namelijk hoe het wel moet...
Gewijzigd op 12/10/2012 18:03:17 door - Ariën -