PHP-Problem auf Mac

Dieses Thema im Forum "Software" wurde erstellt von fahluk, 8. September 2004.

  1. fahluk

    fahluk New Member

    ich arbeite nun seit 2 Monaten auf einen Mac und habe es endlich geschafft dass PHP und mySQL auf Apache läuft. Nun habe ich meine Tabellen und Skripts von Windows übernommen und fast alles funktioniert einawndfrei und diesen Fehler knacke ich nicht.
    Wenn ich beim Einloggen das Passwort eingebe kommt folgende Fehlermeldung
    Code:
    Warning: Cannot modify header information - headers already sent by (output started at /Library/WebServer/Documents/luk/phptest/php_scripts/pluto_srl/login_ok.php:20)
     in /Library/WebServer/Documents/luk/phptest/php_scripts/pluto_srl/login_ok.php on line 27
    und das ist die dazugehörige PHP-Datei
    Code:
     <?php require_once('Connections/luk.php'); ?>
    <?php
    $username = $_POST['username'];
    $password = $_POST['password'];
    mysql_select_db($database_luk, $luk);
    $query_login = "SELECT control.password, control.username FROM control WHERE username='$username' AND password='$password'";
    $login = mysql_query($query_login, $luk) or die(mysql_error());
    $row_login = mysql_fetch_assoc($login);
    $totalRows_login = mysql_num_rows($login);
    ?>
    
    <html>
    <head>
    <title>Login</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="pluto.css" rel="stylesheet" type="text/css">
    </head>
    
    <body bgcolor="#000000" text="#FFFF00">
    <?php
    if ($totalRows_login == 0){
    echo "";
    } 
    else {
    $insertGoTo = "administrator.php";  
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $HTTP_SERVER_VARS['QUERY_STRING'];
    	header(sprintf("Location: %s", $insertGoTo));
      }
    ?>
    Ich denke der Befehl
    Code:

    header(sprintf("Location: %s", $insertGoTo));
    ist das Übel aber ich komme nicht drauf.
    Ich habe auch schon einen Tipp in einem PHP-Forum bekommen: Abhilfe schafft ein ob_start(); gleich am Anfang des Scripts, was aber auch nichts nutzte ;( , vielleicht weiss von euch jemand Rat.

    Grüsse Lukas
     
  2. RaMa

    RaMa New Member

    du kannst den header nur einmal senden.

    der header befehl funktioniert nur wenn er ganz am anfang des documents steht. es darf zuvor keine zeichen zum browser gesendet werden, also auch kein leerzeichen od. ähnliches.
     
  3. fahluk

    fahluk New Member

    :D Yea Problem geloest

    Einfach ganz am Anfang der Datei
    PHP:
    <?php ob_start(); ?> 
    eingeben, klappt super.
    Gruss Lukas
     
  4. Möchtest Du nicht noch die Eingaben die $password
    betreffen irgendwo noch kontrolieren??

    So könnte man doch noch eine drop angabe an die url hängen.
     
  5. fahluk

    fahluk New Member

    Möchten schon aber können :confused: Bin erst ganz am Anfang meiner PHP-Selbstausbildung und fange mal mit einfachen Sachen an. Aber wenn du ein paar gute Tips hast oder Scripts, nur her damit ich verschlinge momentan alles was mit PHp zu tun hat :sabber:

    Lukas
     

Diese Seite empfehlen