Avatar billede prop46 Nybegynder
30. juni 2003 - 17:02 Der er 8 kommentarer og
1 løsning

headers already sent by

Hvorfor bliver jeg ved med at få header fejl (headers already sent by) på dette script?

<?php

require("mysql-funktioner.php");

if($brugernavn) {

    function tjek_brugernavn($brugernavn) {

        $query = mysql_query("SELECT brugernavn FROM bruger WHERE brugernavn='$brugernavn'");

        aabn_forbindelse_og_vaelgdb();
        sql_spoerg($query);
        $antal = mysql_num_rows($query);
        luk_forbindelse();
    }

    if($antal == 0) {
        header("location: opret_bruger/indtast_bruger.php");
        exit;
    }
    if($antal > 0) {
        echo "Brugernavnet er i brug. Indtast et andet!";
    }
}

?>


<table width="496" height="100%" cellpadding="0" cellspacing="0" class="baggrund">
    <tr>
        <td height="100%" align="center" valign="middle">
            <table cellpadding="30" cellspacing="0" class="skriv">
                <tr>
                    <td height="100%" align="center" valign="middle">
                        <form action="" method="post">
                            <table cellpadding="0" cellspacing="0">
                                <tr>
                                    <td align="center">
                                        <span class="p3">Skriv dit ønskede brugernavn<br><br>
                                        <input type="text" name="brugernavn" size="20"></span><br><br>
                                    </td>
                                </tr>
                                <tr>
                                    <td align="center">
                                        <input type="submit" value="TJEK" class="submit">
                                    </td>
                                </tr>
                            </table>
                        </form>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
</table>
Avatar billede schaefner Juniormester
30. juni 2003 - 17:05 #1
header() skal stå før du sender noget output.
Avatar billede schaefner Juniormester
30. juni 2003 - 17:08 #2
noget i den her stil:

<?php
require("mysql-funktioner.php");
if($brugernavn) {
    function tjek_brugernavn($brugernavn) {
        $query = mysql_query("SELECT brugernavn FROM bruger WHERE brugernavn='$brugernavn'");
        aabn_forbindelse_og_vaelgdb();
        sql_spoerg($query);
        $antal = mysql_num_rows($query);
        luk_forbindelse();
    }
    if($antal == 0) {
        header("location: opret_bruger/indtast_bruger.php");
        exit;
    }
}
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>

<body>

<?php
if($antal > 0) {
    echo "Brugernavnet er i brug. Indtast et andet!";
}
?>

<table width="496" height="100%" cellpadding="0" cellspacing="0" class="baggrund">
    <tr>
        <td height="100%" align="center" valign="middle">
            <table cellpadding="30" cellspacing="0" class="skriv">
                <tr>
                    <td height="100%" align="center" valign="middle">
                        <form action="" method="post">
                            <table cellpadding="0" cellspacing="0">
                                <tr>
                                    <td align="center">
                                        <span class="p3">Skriv dit ønskede brugernavn<br><br>
                                        <input type="text" name="brugernavn" size="20"></span><br><br>
                                    </td>
                                </tr>
                                <tr>
                                    <td align="center">
                                        <input type="submit" value="TJEK" class="submit">
                                    </td>
                                </tr>
                            </table>
                        </form>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
</table>

</body>
</html>
Avatar billede prop46 Nybegynder
30. juni 2003 - 17:12 #3
Hvis ovenstående script er includeret i en anden side så er der jo en masse html der er udskrevet.... altså er det der mit problem ligger ikk'?
Avatar billede jakoba Nybegynder
30. juni 2003 - 17:19 #4
Jo. og det vil da forresten heller ikke være en korrekt html side du laver når du pludselig skriver <HTML> inde midt i filen.
Avatar billede prop46 Nybegynder
30. juni 2003 - 17:26 #5
øh... jeg skriver ikke html midt på en side??

Hvordan omgåes jeg lige den header situation.... Kan jo ALDRIG bruger header på en include side så!
Avatar billede Slettet bruger
30. juni 2003 - 17:42 #6
En forklaring: http://www.reginscorner.dk/index.php/Scripts?Headers+h%E5ndtering

prop46 >> Jo du kan - du skal bare bruge output buffering! Til enhver tid vil jeg dog mene, at det bedre kan betale sig at designe sin kode så det undgåes....
Avatar billede schaefner Juniormester
30. juni 2003 - 18:26 #7
regin >> Der er en lille slåfejl i dit script:

retrun site("forside", "Dette er forsiden");

return site("forside", "Dette er forsiden");
Avatar billede Slettet bruger
30. juni 2003 - 18:43 #8
schaefner>>Thx... er fixet! :P
Avatar billede prop46 Nybegynder
20. august 2003 - 23:15 #9
hm... lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester