login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Cannot modify header information (Opgelost)

Offline Ewergreen - 24/04/2009 08:51
Avatar van EwergreenNieuw lid Please provide us with your company name. Return to the form with your browsers "back" button.
Warning: Cannot modify header information - headers already sent by (output started at C:\xampplite\htdocs\TestLab\Z-Matic calculator Layout\index.php:19) in C:\xampplite\htdocs\TestLab\Z-Matic calculator Layout\index.php on line 31

Plaatscode: 136218

10 antwoorden

Gesponsorde links
Offline Ontani - 24/04/2009 09:02
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
zet eens ob_start(); voor je session_start();
Offline Ewergreen - 24/04/2009 09:10
Avatar van Ewergreen Nieuw lid Dat ken ik. Maar het enige wat dat doet is het probleem omzeilen. Dus geen goede oplossing. Bovendien is dit onderdeel van een inlogscript. Als ik ob_start(); plaats, dan negeert hij alle criteria om verder te gaan.
Offline djb - 24/04/2009 09:17
Avatar van djb PHP beginner Bij een header functie mag je geen output op je scherm zetter daarvoor  
Bij regel 16, 20 en 24 echo je wat op het scherm en daarna op regel 32 geef je een header mee  

Dus daarom loopt hij daarop vast.

Mogelijke oplossing,

niks outputen (echo'en) en als er een error komt,, die rederecten naar index.php?errorno=1 bijvoorbeeld.
En dan pas de error laten zien.

Zijn denk ik ook betere oplossingen lijkt me maar kan ff niet iets bedenken 
Offline Sitebase - 24/04/2009 09:18
Avatar van Sitebase PHP expert Je doet een echo(lijn 20) waarna je een header verstuurd (lijn 31) en dit zorgt dus voor de fout. Je mag geen output (echo, print, html, ...) versturen voor een header.
Offline Ewergreen - 24/04/2009 09:28
Avatar van Ewergreen Nieuw lid Ik weet dat ik niet mag echo'en vóór die header. Maar ik heb het toch maar even zo gemaakt omdat ik simpelweg niet wist hoe ik het anders moest doen. Het errorno=1 is een goed idee, maar ik betwijfel of ik het in de praktijk kan omzetten.
Offline jaronneke - 24/04/2009 10:10 (laatste wijziging 24/04/2009 10:10)
Avatar van jaronneke MySQL interesse zet boven in je script
  1. if {$ww == $ww)
  2. {
  3. // je header hier, zodat die alleen wordt uitgevoerd als het ww goed is
  4. }


de variabele zijn maar even als voorbeeld , maar je begrijpt het wss wel 
Offline Ewergreen - 24/04/2009 10:41
Avatar van Ewergreen Nieuw lid Ik begrijp min of meer waar je naartoe wilt, maar helaas krijg ik het niet werkend.
Offline Stijn - 24/04/2009 11:13
Avatar van Stijn PHP expert Heb je al eens geprobeerd om PHP.net: exit na je header() te zetten?

Een andere oplossing is de volgende. Je stopt je foutmeldingen in een array.

  1. $errors = array();
  2. if( ! $email .... ) {
  3. $errors[] = "<b>....";
  4. }
  5. ...


Op het einde van je checkpoints kijk je of je errors hebt of niet.

  1. if( count($errors) > 0 ) {
  2. //toon de foutmeldingen
  3. } else {
  4. //query
  5. header(...);
  6. exit; //vergeet die niet ;-)
  7. }
Offline finduilas - 24/04/2009 12:00
Avatar van finduilas PHP gevorderde Soms wordt een break ook gezien als output. Hou daar rekening mee
Offline Ewergreen - 24/04/2009 12:43
Avatar van Ewergreen Nieuw lid Opgelost!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.209s