[php] header probleem

Pagina: 1
Acties:
  • 2.005 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Goeiedag allen,


Ik heb een form, dit post ik naar dezelfde pagina met in de querystring "action=submit". Vervolgens staat er bovenin de pagina het volgende:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?
include("db_connect.inc");
    
if ($action == "submit")
    {
    $query = "UPDATE cms_Pages SET Title = '$Title', TitleEN = '$TitleEN', Text = '$FCKeditor1', TextEN = '$FCKeditor2' WHERE PageID = $PageID";
    mysql_db_query($dbname,$query,$link_id);

    header("Location: content_l.php?CategoryID=$CategoryID");
    exit;
    }
else
    {
    $sysMessage = "<tr><td valign=top> colspan=2><b>Error: Niet alle info is volledig ingevoerd. Vul de ontbrekende velden in en klik wederom op Doorgaan om verder te gaan.</b></td></tr>";
    }
?>


Echter, nu krijg ik de welbekende header fout. Ofwel, er is al naar de header geschreven volgens mijn parser. Het stuk gepaste code is het absoluut bovenste stuk, verder bevat db_connect.inc verder geen html whatsoever.

Wat doe ik fout? Wellicht iets supersimpels, maar ik staar me er alweer een tijdje blind op.

Acties:
  • 0 Henk 'm!

Verwijderd

Waarschijnlijk heb je toch ergens output... jammer maar helaas :) Weet je zeker dat ook nergens een komma of spatie staat? Trouwens het gebruik van superglobals is aan te raden...

Om je verder te kunnen helpen moet je toch echt meer informatie geven...

[ Voor 65% gewijzigd door Verwijderd op 09-11-2004 21:07 ]


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
heb je een witregel boven je <? staan?

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • Squall-sX
  • Registratie: April 2002
  • Laatst online: 26-05 19:35
Je kunt misschien de functie ob_start() en ob_end_flush() gebruiken.
http://be2.php.net/manual/nl/function.ob-start.php

edit: beetje uitleg
Deze functie start een outputbuffer. Dit betekent dat er buiten headers niets naar de client gestuurd wordt tot wanneer je aan de ob_end_flush komt. Dit betekent dus dat je ook headers middenin je scripts kunt gebruiken.

[ Voor 51% gewijzigd door Squall-sX op 09-11-2004 21:13 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb geen witregel boven mijn eerste openingstag staan. Ook geen spatie ervoor. Mijn db_connect.inc ziet er als volgt uit:

code:
1
2
3
4
5
6
7
8
9
10
11
<?
$dbhost='xxxx';
$dbusername='xxxx';
$dbuserpass='xxxx';
$dbname='xxxx';

// connect to the mysql database server.
$link_id = mysql_connect ($dbhost, $dbusername, $dbuserpass);

mysql_select_db($dbname) or die("Unable to select database");
?>


Overigens doe ik dit bij op exact dezelfde manier opgebouwde andere pagina's ook en hier is het geen probleem. Het enige wat hier anders is is dat ik middels een textarea replace een fckeditor instantie (2 zelfs) implementeer. De code daarvoor is als volgt:

code:
1
2
3
4
5
6
7
8
9
10
11
12
<script type="text/javascript">
    window.onload = function()
        {
        var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
        oFCKeditor.BasePath = '/admin/fckeditor/' ;
        oFCKeditor.ReplaceTextarea() ;

        var oFCKeditor2 = new FCKeditor( 'FCKeditor2' ) ;
        oFCKeditor2.BasePath = '/admin/fckeditor/' ;
        oFCKeditor2.ReplaceTextarea() ;
        }
</script>


Maar deze code wordt uiteraard pas uitgevoerd nadat ik mijn header statement doe, verder staat het ook een regel of 10 onder de header/exit statements.

Acties:
  • 0 Henk 'm!

Verwijderd

Weet je ook zeker dat de die() niet wordt uitgevoerd?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Yup, mijn query wordt wel op de db uitgevoerd. Het lijkt er sterk op dat dit te maken heeft met fckeditor (http://www.fckeditor.net/). Maar waarom, ik heb geen idee. Iemand ervaring met deze webbased html editor?

Acties:
  • 0 Henk 'm!

Verwijderd

laat eens de 'echte' error zien?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Warning: Cannot modify header information - headers already sent by (output started at /home/users/d/o/domain/www/admin/content_w.php:1) in /home/users/d/o/domain/www/admin/content_w.php on line 11

Acties:
  • 0 Henk 'm!

  • Cipri
  • Registratie: Januari 2001
  • Laatst online: 29-07-2024

Cipri

Of niet natuurlijk...

Verwijderd schreef op 09 november 2004 @ 21:24:
headers already sent by output started at /home/users/d/o/domain/www/admin/content_w.php:1
Kijk eens in dat bestand, op de allereerste regel? Daar zit de fout, er staat al text en daardoor kan je geen header() meer sturen :)

-=[ Murlocs Ate My Boots]=- Sylvanas Alliance - EU - Orosei lvl 100 Paladin


Acties:
  • 0 Henk 'm!

  • ExploWare
  • Registratie: November 2002
  • Laatst online: 14-08 13:34

ExploWare

BoingBoing

die edittor ziet er windowsachtig uit,
heb je een linux server? kijk voor de gein eens naar je bestand met een linux editor, ff controleren of er geen stomme Windows Newline in zit (2 karakters: Carriage Return(ascii 13) & Line Feed(ascii 10), waar linux slechts 1 karakter nodig heeft: Line Feed

. . . . . Youp.net . . . . .


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hehe, ja als het dat was dan had ik mijn vraag waarschijnlijk niet gepost. Maar geloof me op mijn woord even dat er op regel 1 gewoon echt niks staat behalve <?

Hierbij een screenshow uit ultraedit:

Afbeeldingslocatie: http://www.uniqueleader-europe.com/probleem.jpg

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ExploWare schreef op 09 november 2004 @ 21:31:
die edittor ziet er windowsachtig uit,
heb je een linux server? kijk voor de gein eens naar je bestand met een linux editor, ff controleren of er geen stomme Windows Newline in zit (2 karakters: Carriage Return(ascii 13) & Line Feed(ascii 10), waar linux slechts 1 karakter nodig heeft: Line Feed
Op een soortgelijke manier gechecked, maar niet gevonden.

Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 14:31
Ik heb hetzelfde probleem wel eens gehad, en het bleek dat het lag aan de codering: UTF-16 of ASCII of zoiets. Hierdoor kreeg ik chronisch twee tekens aan het begin. Heb nu geen Windows meer, dus kan het niet exact meer zeggen, maar probeer het eens in het menu 'File' -> 'Conversions'

Acties:
  • 0 Henk 'm!

  • ExploWare
  • Registratie: November 2002
  • Laatst online: 14-08 13:34

ExploWare

BoingBoing

ow, zit er geen toevalligheid in die $CategoryID, dat daar een "?> in zit verwerkt ofzo, en dat PHP die mss wil gaan parsen?

. . . . . Youp.net . . . . .


Acties:
  • 0 Henk 'm!

  • Cipri
  • Registratie: Januari 2001
  • Laatst online: 29-07-2024

Cipri

Of niet natuurlijk...

Wordt er iets ge auto-prepend door de PHP Server wellicht?
En wat ook opvalt is dat de php error page de header() op regel 11 ziet, en Ultraedit op regel 9... Lijkt dus dat er toch ergens iets niet 100% lekker zit qua encodings of unix/windows translation...

-=[ Murlocs Ate My Boots]=- Sylvanas Alliance - EU - Orosei lvl 100 Paladin


Acties:
  • 0 Henk 'm!

  • Thomasje
  • Registratie: Augustus 2002
  • Laatst online: 29-05-2024

Thomasje

Semacode

ik heb hier ook een hele tijd mee gezeten en heb geloof ik op got kan ook ergens anders zijn dit gevonden:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
function redirect($url) 
{ 
    if(headers_sent()) 
    { 
        echo "<meta HTTP-EQUIV=\"refresh\" CONTENT=\"0;URL=$url\">"; 
    } 
    else 
    { 
        header("location: $url"); 
    } 
}
?>


Ik hoop dat ik je hiermee heb kunnen helpen

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verrek, dat was hem. Bedankt voor de moeite. Raar eigenlijk, maargoed achterhaalf en opgelost. Cheers.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Thomasje schreef op 09 november 2004 @ 21:46:
ik heb hier ook een hele tijd mee gezeten en heb geloof ik op got kan ook ergens anders zijn dit gevonden:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
function redirect($url) 
{ 
    if(headers_sent()) 
    { 
        echo "<meta HTTP-EQUIV=\"refresh\" CONTENT=\"0;URL=$url\">"; 
    } 
    else 
    { 
        header("location: $url"); 
    } 
}
?>


Ik hoop dat ik je hiermee heb kunnen helpen
Hier ook bedankt voor. Ook een oplossing die ik effe bewaar.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Cipri schreef op 09 november 2004 @ 21:46:
Wordt er iets ge auto-prepend door de PHP Server wellicht?
En wat ook opvalt is dat de php error page de header() op regel 11 ziet, en Ultraedit op regel 9... Lijkt dus dat er toch ergens iets niet 100% lekker zit qua encodings of unix/windows translation...
Overigens was dat weer veranderd, had weer 2 regels uit het bestand gesloopt sinds de error die ik gepost had.

Acties:
  • 0 Henk 'm!

  • ExploWare
  • Registratie: November 2002
  • Laatst online: 14-08 13:34

ExploWare

BoingBoing

Verwijderd schreef op 09 november 2004 @ 21:47:
Verrek, dat was hem. Bedankt voor de moeite. Raar eigenlijk, maargoed achterhaalf en opgelost. Cheers.
wat?

. . . . . Youp.net . . . . .


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
De oplossing van sjoorda.
Pagina: 1