Na het verwijderen van een bericht uit de database:

if(IsSet($_GET['id']))
{
$deleteid=$_GET['id'];
$querydel="delete from nieuws where Id like '$deleteid'";
$resultdel = mysql_query($querydel) or die(mysql_error());
header("Location: admin_nieuws.php");
}

Krijg ik het volgende (het bericht is er uit, maar hij verwijst niet door naar de pagina admin_nieuws.php)


Warning: Cannot modify header information - headers already sent by (output started at /home/footballma/domains/test/public_html/admin/admin_nieuws.php:11) in /home/footballma/domains/test/public_html/admin/admin_nieuws.php on line 140

Hoe zou ik dit kunnen oplossen??
Ik heb eens tinyMCE er uit gehaald, kreeg ik dit:

Warning: Cannot modify header information - headers already sent by (output started at /home/footballma/domains/psoostkamp.be/public_html/admin/admin_nieuws.php:19) in /home/footballma/domains/psoostkamp.be/public_html/admin/admin_nieuws.php on line 120

Lijn 19: <div id ="UpBox" style="width: 651px; height: 75px">

Crispijn schreef op 12.09.2007 16:44
je kan geen headers versturen nadat jij iets naar de browser verstuurd hebt. Wat jij zegt: op regel 11: js gebeuren ----> Dat kan dus niet want je stuurt iets naar je browser.

een oplossing is ob_start(); bovenaan je pagina maar dat is geen nette oplossing. Mooier is gewoon een andere manier voor vinden (dus eerst iets uitvoeren en dan opmaak etc naar browser sturen.


ob_start() is geen oplossing dat is het verhullen van je probleem. De oplossing is eerst de logica dwz de if else en de rest van de php_code en dan pas html. Niet alles door elkaar dusss.
Klaasjan Boven schreef op 12.09.2007 16:42
Nou dan zal dat wel output zijn en dat mag niet voor header("Location: admin_nieuws.php");

Maar ik zei zie het FAQ. Jij wilt antwoord op de meest voorkomende foutmelding. Gebruik GOOGLE en zoek zelf eens. Het komt er op neer dat je iets naar de browser verzend voor het versturen van de header en dat mag niet


Heb al gegoogled en gefaqt.

Het vreemde: het werkt op mijn localhost :s
Opgelost, toch bedankt

Heb dit stukje vanboven gezet:

<script type="text/javascript">
<!--
function delayer(){
window.location = "admin_nieuws.php?actie=del"
}
//-->
</script>

heb dan ipv mijn header() dit gezet:

echo"<table align=\"center\" width='600'><tr><td><h5>De gegevens worden verwijderd...</h5></td></tr></table>
<script language=\"JavaScript\">
setTimeout('delayer()', 1000);
</script>";
Jammer dat je het op de meest vreselijke manier oplost

blijkt maar weer dat zodra er moeite gedaan moet worden elke oplossing maar wordt aangegrepen, hoe slecht deze ook is

Tot over een weekje, als je erachter komt dat dit helemaal geen oplossing is.
Tja, als je weet dat ik hier al bijna 2 dagen op zit te zoeken?? Heb alles geprobeerd, bijna toch, op mijn host ging het echter, maar hier niet. Wat vreemd is.
Dus elke oplossing wordt dan wel goed gekeurd :)
Dat het vreemd is betekend niet dat je localhost wel goed was , waar jij nu van uit gaat.

En niet elke oplossing is goed!

Dit is gewoon net je lekke autoband met ducktape plakken, het werkt wel, maar ver kom je dr niet mee.
Mja, het is ook wel te zien voor wat soort site het bedoeld is.
En daar heb jij vrede mee?

Probeer er dan iig nog iets van te maken.
Headerfouten hebben alles te maken met verkeerde volgorde van je pagina.

Bijvoorbeeld aan het begin van je script een kop echoen met een lap text, en 50 regels daaronder check je of je login eigenlijk wel correct was en header je verder... Snappie..

Eerst alles controlere, uitrekenen en verwerken, DAARNA alle output op je scherm tonen.
Klaas schreef op 12.09.2007 17:26
Tja, als je weet dat ik hier al bijna 2 dagen op zit te zoeken??


2 dagen is opzich helemaal niet super veel! en als je de eerder geposte berichten leest, dan kan je dus weten dat je gewoon elke output voor de header moet verwijderen! dat heb je zo te zien niet gedaan, oftewel je hebt niet alles geprobeerd.. dus tip voor de volgende keer: als iemand zegt dat je de regel moet verwijderen omdat er geen output mag zijn voor de header.. verwijder dan gelijk alle output voor de header ;)

Reageren