headers already sent
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??
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if(IsSet($_GET['id']))
{
$deleteid = $_GET['id'];
$querydel = "DELETE FROM nieuws WHERE Id LIKE '".$deleteid."'" or die(mysql_error());
$resultdel = mysql_query($querydel) or die(mysql_error());
echo "<table align=\"center\" width='600'><tr><td><h5>De gegevens worden verwijderd...</h5></td></tr></table>\n".
"<script language='javascript' type='text/javascript'>\n".
"setTimeout(\"admin_nieuws.php\", 2000);\n".
"</script>\n";
}
?>
if(IsSet($_GET['id']))
{
$deleteid = $_GET['id'];
$querydel = "DELETE FROM nieuws WHERE Id LIKE '".$deleteid."'" or die(mysql_error());
$resultdel = mysql_query($querydel) or die(mysql_error());
echo "<table align=\"center\" width='600'><tr><td><h5>De gegevens worden verwijderd...</h5></td></tr></table>\n".
"<script language='javascript' type='text/javascript'>\n".
"setTimeout(\"admin_nieuws.php\", 2000);\n".
"</script>\n";
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Wout van der Burg
wel, zodat hij na het verwijderen doorverwijst naar die pagina, normaal staat er: echo "Bericht verwijderd";
Probeer bovenstaand script eens
De gegevens worden verwijderd... hij blijft wel een eindje staan daar op...
Gewijzigd op 01/01/1970 01:00:00 door Klaas
Wat wil je precies en wat doet hij niet? een beetje meer info geven :)
Op regel 11 van admin_nieuws.php wordt output verzonden.
Dat staat namlijk hier
output started at /home/footballma/domains/test/public_html/admin/admin_nieuws.php:11)
Succees en voor de rest zie het FAQ
Daarom vraag ik me af wat er juist verkeerd is
<script language="javascript" type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
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
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.
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.
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
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
Gewijzigd op 01/01/1970 01:00:00 door Klaas
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>";
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.
Gewijzigd op 01/01/1970 01:00:00 door - wes -
Dus elke oplossing wordt dan wel goed gekeurd :)
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.
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 ;)