[PHP] Login-Skript, include-Befehl und Fehler: headers already sent

Dieses Thema im Forum "Webentwicklung" wurde erstellt von joker.org, 28. August 2011 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. #1 28. August 2011
    Login-Skript, include-Befehl und Fehler: headers already sent

    Hallo zusammen,

    ich habe ein Login-Skript programmiert bzw. angepasst, das mit einer mySQL-Datenbank übperüft ob ein Account existiert und ob das eingegebene Passwort stimmt.

    Das Skript möchte natürlich die Anmeldeinformationen für die Database.
    Diese habe ich jetzt, da ich diese öfters auch in anderen Dateien benötige in eine Datei geschrieben und jeweils mit include eingebunden.
    Das habe ich jetzt überall eingebunden und somit die manuellen Eingaben ersetzt.
    Nun bin ich an der login.php Datei angekommen und möchte dort das selbe einbinden.

    Jedoch kommt momentan ständig ein Fehler, dass der Header bereits gesendet wurde.
    Kann man das irgendwie so umgestalten, damit ich dort auch auf eine manuelle Eingabe verzichten kann?

    Bis jetzt habe ich immer require('verbindung.php') oder include('verbindung.php') getestet.

    Anbei der Code:

    PHP:
    <? php 
    // Session starten
    session_start  ();

    // Datenbankverbindung aufbauen 
    $connectionid  mysql_connect  ( "localhost" "root" "" ); 
    if (!
    mysql_select_db  ( "LoginSystem" $connectionid )) 

      die (
    "Keine Verbindung zur Datenbank" ); 


    $sql  "SELECT "
        
    "Id, Nickname, Nachname, Vorname "
      
    "FROM "
        
    "benutzerdaten "
      
    "WHERE "
        
    "(Nickname like '" . $_REQUEST [ "name" ]. "') AND "
        
    "(Kennwort = '" . md5  ( $_REQUEST [ "pwd" ]). "')"
    $result  mysql_query  ( $sql ); 

    if (
    mysql_num_rows  ( $result ) >  0

      
    // Benutzerdaten in ein Array auslesen. 
      
    $data  mysql_fetch_array  ( $result ); 

      
    // Sessionvariablen erstellen und registrieren 
      
    $_SESSION [ "user_id" ] =  $data [ "Id" ]; 
      
    $_SESSION [ "user_nickname" ] =  $data [ "Nickname" ]; 
      
    $_SESSION [ "user_nachname" ] =  $data [ "Nachname" ]; 
      
    $_SESSION [ "user_vorname" ] =  $data [ "Vorname" ]; 

      
    header  ( "Location: intern.php" ); 

    else 

      
    header  ( "Location: formular.php?fehler=1" ); 

    ?> 
    Vielen Dank im Voraus.

    Gruß joker.org
     
  2. #2 28. August 2011
    AW: Login-Skript, include-Befehl und Fehler: headers already sent

    Das hängt wohl mit "session_star" zusammen, das muss aufgerufen werden, bevor es zu einer Ausgabe kommt.

    Ist nen Stadardfehler, den man auch schnell bei Google findet.
    Lösung: session_start bei deinem entry-script in die erste Zeile packen.

    PHP: session_start - Manual
    siehe den Hinweis weiter unten.
     
  3. #3 28. August 2011
    AW: Login-Skript, include-Befehl und Fehler: headers already sent

    Hast eventuell ein "unsichtbares" Zeichen vor deinem <?php.
    Am besten mal mit nem Hex Editor nachschaun und es gegebenfalls entfernen.
    Das passiert meistens wenn man im falschen Zeichensatz abspeichert.
     
  4. #4 28. August 2011
    AW: Login-Skript, include-Befehl und Fehler: headers already sent

    Gibt da doch auch noch so eine Funktion, dass php alles erstmal puffert und dann sendet oder so? Hab da eher nicht so die Ahnung, aber ich erinnere mich daran das ich sowas auch hatte und es damit dann damals ging.
    ob_start() musste man da irgendwie benutzen
     
  5. #5 29. August 2011
    AW: Login-Skript, include-Befehl und Fehler: headers already sent

    ob_start(); muss rein.
     
  6. #6 29. August 2011
    AW: Login-Skript, include-Befehl und Fehler: headers already sent

    Hi,
    danke für eure Antworten.
    Wo muss das genau hin?
    Und wofür ist das dann gut?

    Danke.

    Gruß joker.org
     
  7. #7 29. August 2011
    AW: Login-Skript, include-Befehl und Fehler: headers already sent

    PHP: ob_start - Manual

    An den Anfang der Seite (vor jeden Print, Echo-Befehl).
     
  8. #8 30. August 2011
    AW: Login-Skript, include-Befehl und Fehler: headers already sent

    Kodierung umstellen auf UTF-8 ohne BOM (Notepad++)
     
  9. #9 31. August 2011
    AW: Login-Skript, include-Befehl und Fehler: headers already sent

    Ob_Start() ist nicht notwendig, die Ausgabepufferung startet von selbst. Man kann Sie manuell stoppen oder löschen, aber explizit starten ist nicht notwendig!

    Ich gehe ebenfalls davon aus, dass es sich um einen Kodierungsfehler handelt, gerade auf Windows-Systemen nimmt PHP das gern mal ernst und stellt sich etwas an! Hatte ich selbst schon oft gehabt!


    Gruß Blackb!rd
     
  10. #10 31. August 2011
    AW: Login-Skript, include-Befehl und Fehler: headers already sent

    Hallo zusammen,

    vielen Dank für eure Antworten.
    Es war wohl beides.
    Es war die falsche Zeichenkodierung und außerdem noch ein Leerzeichen am Ende der Datei.

    Vielen Dank.

    Gruß joker.org
     

  11. Videos zum Thema
    Video Script
Die Seite wird geladen...

Ähnliche Themen mit den Stichworten: PHP Login Skript

  1. PHP-Login-MVC
    leex, 12. Februar 2014 , im Forum: Webentwicklung
    Antworten:
    11
    Aufrufe:
    1.815
  2. PHP IRC BOT und BNC Login
    Decryptor, 22. Dezember 2013 , im Forum: Webentwicklung
    Antworten:
    4
    Aufrufe:
    1.789
  3. [S] php Login Script mit Rechteverwaltung
    romestylez, 22. Oktober 2013 , im Forum: Webentwicklung
    Antworten:
    2
    Aufrufe:
    1.894
  4. PHP Fremd Login wie Facebook API
    Terrorbeat, 29. September 2013 , im Forum: Webentwicklung
    Antworten:
    2
    Aufrufe:
    1.295
  5. [PHP] Weiterleitung nach Login
    master2005, 26. Februar 2013 , im Forum: Webentwicklung
    Antworten:
    1
    Aufrufe:
    921