anoniem Geplaatst: 23 april 2004 Delen Geplaatst: 23 april 2004 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] Quote Link naar reactie
anoniem Geplaatst: 23 april 2004 Auteur Delen Geplaatst: 23 april 2004 De laatste regel bevat het commando header(), welke alleen aangeroepen kan worden vóórdat er output naar de client (browser) is gestuurd. Vandaar de foutmelding. - Bas Quote Link naar reactie
anoniem Geplaatst: 23 april 2004 Auteur Delen Geplaatst: 23 april 2004 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 Quote Link naar reactie
anoniem Geplaatst: 23 april 2004 Auteur Delen Geplaatst: 23 april 2004 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 Quote Link naar reactie
anoniem Geplaatst: 23 april 2004 Auteur Delen Geplaatst: 23 april 2004 Een antwoord om over na te denken. Ga hier mee aan de slag. Denk dat ik later (volgende week ) nog wel vragen heb of zelfs, er nog niet uit ben. Ik snap het principe van het in en out niet. Tot dan. Louise Quote Link naar reactie
anoniem Geplaatst: 27 april 2004 Auteur Delen Geplaatst: 27 april 2004 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? Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen