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??
Waarom stuur je die header() mee?

<?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";
}
?>
wel, zodat hij na het verwijderen doorverwijst naar die pagina, normaal staat er: echo "Bericht verwijderd";
doet het ook niet

De gegevens worden verwijderd... hij blijft wel een eindje staan daar op...
Wat wil je precies en wat doet hij niet? een beetje meer info geven :)
Probeer eens lezen:

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
Wel, als ik het bericht verwijderd heb, dus er is een lijst met berichten in de database, toevoegen lukt wel, verwijderen in principe ook, maar het is niet echt leuk. Als ik een bericht verwijderd heb uit de database, dan gaat hij er wel uit, maar de pagina blijft gewoon staan, je moet opnieuw naar die pagina gaan, terwijl ik dit automatisch wil laten doen. Dit gaat echter op mijn localhost (met de header()). Maar op mijn webhost doet ie het niet.

Daarom vraag ik me af wat er juist verkeerd is
Dit staat op regel 11:

<script language="javascript" type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
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
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.

Reageren