cannot modify header (funktions problem)

alexorg

Mitglied
Hallo,

also ich hab folgendes Problem mit meinem Script, und zwar, das immer wenn ich mich einloggen will diese Fehlermeldung kommt:

Warning: Cannot modify header information - headers already sent by (output started at /var/www/l3s1902/html/wf/index.php:14) in /var/www/l3s1902/html/wf/php/liga/admin/check.php on line 31

Ich weiss, dass es daran liegt, das angeblich schon HTML Code ausgegeben wurde. Aber ich habe diese funktion ganz am Anfang in meiner seite per include() befehl eingebunden. Nun weiss ich nicht woran das liegen könnte und wie ich das ändere.

Hier mal die entsprechende datei in der diese Funktion eingebunden ist:

PHP:
<?php
session_start();
session_register("session");
setcookie("cookiepass",$logpass,+3600);
function holeDS( $tabelle, $fnm, $fval )
    {
    global $link;
    $ergebnis = mysql_query( "SELECT * FROM $tabelle
                WHERE $fnm='$fval'", $link );
    if ( ! $ergebnis )
        die ( "holeDS fatal error: ".mysql_error() );
    return mysql_fetch_array( $ergebnis );
    }
function initSession( $id, $login, $pass )
    {
    global $session;
    $session[id] = $id;
    $session[login] = $login;
    $session[passwort] = $pass;
    $session[logged_in] = true;
    }
function ueberpruefeBenutzer( )
    {
    global $session, $logged_in,$admintable;
    $session[logged_in] = false;
    $pruef = holeDS( $admintable, "id", $session[id] );
    if ( ! $pruef ||
        $pruef[login] != $session[login] ||
        $pruef[passwort] != $session[passwort] )
        {
        header( "Location: login.php" );
        exit;
        }
    $session[logged_in] = true;
    return $checkit;
    }


function ueberpruefePasswort( $login, $passwort )
    {
    global $link,$admintable;
    $ergebnis = mysql_query( "SELECT id, login, passwort
                FROM $admintable
                WHERE login='$login' and passwort='$passwort'",
                $link );
    if ( ! $ergebnis )
        die ( "ueberpruefePasswort fatal error: ".mysql_error() );
    if ( mysql_num_rows( $ergebnis ) )
        return mysql_fetch_array( $ergebnis );
    return false;
    }

?>

es handelt sich dabei um die Funktion ueberpruefeBenutzer()

Kann mir jemand sagen, was ich machen kann, damit ich mich korrekt einloggen kann?

Danke schon mal im Vorraus,
Alex
 
Dieses Problem hatte ich auchmal

Du musst ALLE Leerzeichen vor und hinter den <?php und ?> entfernen (bei den includeten Dateien und auch bei deiner Main am Anfang)

sonst gibt er nämlich schon diese Leerzeichen aus und da hat er ja schon was gesendet.

Hoffe, dass löst dein Problem
 
Zurück