kostenloser Webspace werbefrei: lima-city


Login problem

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    g****o

    Problem zu diesem tutorial:
    http://www.lima-city.de/tutorials.php?m=show&id=1360

    hab daran nichts ver?ndert sondern genau so ?bernommen. und bekomm immer volgende fehlermeldung:


    Warning: Cannot modify header information - headers already sent by (output started at /home/webpages/lima-city/grimbo/html/access.php:9) in /home/webpages/lima-city/grimbo/html/access.php on line 38

    Warning: Cannot modify header information - headers already sent by (output started at /home/webpages/lima-city/grimbo/html/access.php:9) in /home/webpages/lima-city/grimbo/html/access.php on line 39

    Warning: login(nopermission.htm): failed to open stream: No such file or directory in /home/webpages/lima-city/grimbo/html/access.php on line 40

    Warning: login(): Failed opening 'nopermission.htm' for inclusion (include_path='.:/home/webpages/include') in /home/webpages/lima-city/grimbo/html/access.php on line 40



    also liegt das problem wohl in diesen zeilen (37-41):

    function login($errorfile,$site_name) {
    header("WWW-Authenticate: Basic realm=\"". $site_name ."\"");
    header("HTTP/1.0 401 Unauthorized");
    include $errorfile;
    exit;


    kann mir da jemand helfen oder mir ein anderes gutes login tut geben?
    Danke
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Das bedeutet, der header kann nur noch ver?ndert werden, wenn Daten vom Dokument noch nicht ?bergeben wurden.

    Auch wenn du einen Cookie setzen willst muss das als aller Erstes im Script erfolgen.
    Sobald auch nur ein Leerzeichen oder ein Zeilenumbruch vor dem <?php stand kannst du's vergessen und dann kommt die Fehlermeldung.

    H2O
  4. Autor dieses Themas

    g****o

    mhm ja hab ich nicht so ganz verstanden.. wo liegt denn jetzt der "fehler"? vor dem <?php ist kein Leerzeichen oder ein Zeilenumbruch.
    also.. was muss ich denn da ver?ndern?

    Grimbo
  5. Dann poste mal die ersten 5 Zeilen von deinem Script :-/

    H2O
  6. Autor dieses Themas

    g****o

    Hab das so gemacht wie gesagt.. so sieht jetzt das ganze script aus:
    <?php

    // Hier musst du den Namen des Login- Cookies angeben

    $session_cookie = 'protected_page';

    // Hier gibst du die Sekunden an, die der Benutzer eingeloggt bleiben soll, standard 3600 sekunden = 1 stunde

    $cookie_time = 3600;

    // Hier kannst du den Namen deiner gesch?tzten Site angeben

    $site_name = 'Protected';

    // Hier gibst du den Namen des Fehlerfiles wenn der User auf Abbrechen dr?ckt an

    $errorfile = 'nopermission.htm';

    // Hier gibst du den Namen des Benutzerfiles an

    $userfile = 'users.php';

    // Ab hier nix mehr ver?ndern

    include $userfile;
    $session = array();


    function login($errorfile,$site_name) {
    header("WWW-Authenticate: Basic realm=\"". $site_name ."\"");
    header("HTTP/1.0 401 Unauthorized");
    include $errorfile;
    exit;

    }


    if (isset($_SERVER['PHP_AUTH_USER'])) {
    $session['exists'] = true;
    $session['username'] = $_SERVER['PHP_AUTH_USER'];
    $session['password'] = $_SERVER['PHP_AUTH_PW'];
    }else{
    $session['exists'] = false;
    login($errorfile,$site_name);

    }

    $accounts=count($users);
    $counter=0;


    while ($accounts != $counter) {
    if (!empty($users[$counter . '_username']) && $users[$counter . '_username'] == $_SERVER['PHP_AUTH_USER']) {
    $user_exists=true;
    break;
    }else{
    $counter++;
    $user_exists=false;
    }
    }

    if ($user_exists != true) {
    login($errorfile,$site_name);
    }


    if ($users[$counter . '_password'] != $session['password']) {
    login($errorfile,$site_name);
    }else{
    setcookie ($session_cookie, 'session_exists', time()+$cookie_time,'/',$_SERVER['HTTP_HOST']);
    $login_correct=true;
    }

    if (!isset($_COOKIE[$session_cookie]) && $login_correct == true) {
    login($errorfile,$site_name);
    }

    ?>
  7. Autor dieses Themas

    g****o

    das obrige problem hab ich hinbekommen!

    aber funzt trotzdem nicht.. egal.. danke!

    Beitrag ge?ndert am 15.07.2005 23:54 von grimbo
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!