Ga naar inhoud

Php/Mysql: header already sent


Aanbevolen berichten

Ik ben bezig met de cursus "programeren voor internet" in computertotaal! van sept/okt/nov/dec 2003. Ik heb in het forum naar alle vragen en antwoorden gekeken die hierover waren. En uitgeprobeerd. Ik kom er niet uit. Probleem met de header functie: Als ik de [b:750d32ce89]q[/b:750d32ce89] niet print (echo("q") ga ik niet naar plaatsbericht.php en gebeurt er niets (tenminste ik zie geen nieuwe records verschijnen). Print ik de [b:750d32ce89]q[/b:750d32ce89] wel krijg ik de volgende foutmelding [list:750d32ce89]Warning: Cannot modify header information - headers already sent by (output started at /usr/local/psa/home/vhosts/levisestudio.nl/httpdocs/plaatsbericht.php:6) in /usr/local/psa/home/vhosts/levisestudio.nl/httpdocs/plaatsbericht.php on line 21[/list:u:750d32ce89] Kan iemand mij helpen? Bedankt alvast code test02.php = [list:750d32ce89] <html> <head> <title>Test PHP</title> </head> <body> <p><strong>Hieronder kun je een record toevoegen</strong></p> <form action="plaatsbericht.php" method="POST"> Uw naam: <input type="text" name="voornaam" /> Uw achternaam: <input type="text" name="achternaam" /><br /> Uw adres: <input type="text" name="adres" /> Uw woonplaats <input type="text" name="woonplaats" /><br /> Uw geboortedatum <input type="text" name="geboortedatum" /><br /> <input type="submit" value="plaats in adres bestand"> </form> <p><strong>Laat records zien</strong></p> <?php $db=mysql_connect("localhost","levises","studiol"); mysql_select_db("LeviseWork"); $berichten_query=mysql_query(" SELECT voornaam, achternaam, geboortedatum, adres, woonplaats FROM adressen ORDER BY geboortedatum DESC LIMIT 5"); while($record=mysql_fetch_assoc($berichten_query)) { echo("voornaam: {$record['voornaam']}<br>"); echo("achternaam: {$record['achternaam']}<br>"); echo("geboortedatum: {$record['geboortedatum']}<br>"); echo("adres: {$record['adres']}<br>"); echo("woonplaats: {$record['woonplaats']}<br>"); echo("<br>"); } ?> </body> </html> [/list:u:750d32ce89] code plaatsbericht = [list:750d32ce89] <?php if( (strlen($_POST["voornaam"])<1) || (strlen($_POST["achternaam"])<1) ) { echo("vul voor- EN achternaam in. Ga terug"); }else{ echo("q"); $db=mysql_connect("localhost","levises","studiol"); mysql_select_db("LeviseWork"); $voornaam=mysql_escape_string(strip_tags($_POST['voornaam'])); $achternaam=mysql_escape_string(strip_tags($_POST['achternaam'])); $adres=mysql_escape_string(strip_tags($_POST['adres'])); $woonplaats=mysql_escape_string(strip_tags($_POST['woonplaats'])); $geboortedatum=mysql_escape_string(strip_tags($_POST['geboortedatum'])); mysql_query(" INSERT INTO adressen (voornaam,achternaam,geboortedatum,adres, woonplaats) VALUE ('{$voornaam}', '{$achternaam}', '{$geboortdatum}', '{$adres}','{$woonplaats}') "); header("Location: http://www.levisestudio.nl/test02.php"); } ?> [/list:u:750d32ce89]
Link naar reactie
Ja maar waar? Ik had al begrepen dat header() bovenaan moet staan. Zoals jij zegt: vóórdat er output naar de client (browser) is gestuurd. Maar waar? 1) In plaatsbericht.php direct bovenaan... werkt niet 2) In plaatsbericht.php direct na else... werkt niet 3) In test02.php?, direct na begin php-code... werkt niet Ben bang dat ik het niet snap. Louise
Link naar reactie
Je zult moeten kiezen: óf de header die mensen doorverwijst naar de andere pagina óf een tekst weergeven. Een combinatie is niet mogelijk. Als alternatief zou je een meta refresh kunnen plaatsen die na een x aantal seconden naar de andere pagina doorlinkt. Waarom de code geen records toevoegt aan de db weet ik niet, de code ziet er op zich niet verkeerd uit. Alleen moet je jezelf aanwennen variabelen altijd buiten de quotes te halen, dat scheelt enorm in performance. - Bas
Link naar reactie
code plaatsbericht = <?php if( (strlen($_POST["voornaam"])<1) || (strlen($_POST["achternaam"])<1) ) { echo("vul voor- EN achternaam in. Ga terug"); }else{ $db=mysql_connect("localhost","levises","studiol"); mysql_select_db("LeviseWork"); $voornaam=mysql_escape_string(strip_tags($_POST['voornaam'])); $achternaam=mysql_escape_string(strip_tags($_POST['achternaam'])); $adres=mysql_escape_string(strip_tags($_POST['adres'])); $woonplaats=mysql_escape_string(strip_tags($_POST['woonplaats'])); $geboortedatum=mysql_escape_string(strip_tags($_POST['geboortedatum'])); mysql_query("INSERT INTO `adressen` (voornaam,achternaam,geboortedatum,adres, woonplaats) VALUE ('$voornaam', '$achternaam', '$geboortdatum', '$adres','$woonplaats') "); header("Location: http://www.levisestudio.nl/test02.php"); } ?> probeer dit eens?
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...