Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Fehlermeldung Cannot add header information

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Fehlermeldung Cannot add header information

    Hallo Leute!

    Ich hab ein Problem mit der Fehlermeldung:
    Cannot add header information - headers already sent by (output started at /export/home/w3/asso-etud/aeti/news/login.php:17) in /export/home/w3/asso-etud/aeti/news/login.php on line 64

    Hab mich auch schon ein wenig schlau gemacht, woran das liegen könnte, aber ich kapier bei meinem Skript einfach nicht, wieso dies Meldung kommt.
    Also hier mal ein Teil des Codes (Anfang des Skripts):
    Code:
    <?PHP
    session_start();
    
    if (isset($_SESSION['name']))
                 {
                 header ("Location:  http://".$_SERVER['HTTP_HOST']. 
                 dirname($_SERVER['PHP_SELF'])."/index.php");
                 }
           else
           {
    echo("
    <html>
    <head>
    <link href='/aeti/style/style.css' rel='stylesheet' type='text/css'>
    </head>
    <body>
    <div id='enTete' align='center'>");     // HIER IST DIE ZEILE 17!!!!!
    	include ("../_header.htm");
    echo("</div>
    
    <div id='barreNav' align='center'>
      <table cellpadding='0' cellspacing='0'>
        <tr>
    Und dann noch der Bereich um Zeile 64:

    Code:
           if (isset($_POST['submit']))
                 { // Traiter le formulaire
                   // Connexion à la base de données
                   include("db.php");
                 if (isset($_POST['passe']) AND isset($_POST['nom']))
                       {
                       include("db.php");
                       // Si tout est OK, consulter la base de données
                       $rq = "SELECT nom,passe FROM news_user WHERE nom LIKE '$_POST[nom]' LIMIT 1";
                       $result = mysql_query($rq);
                       $line = mysql_fetch_array($result);
                            if ($_POST[passe]==$line[passe])
                                  {
                                  $_SESSION['name'] = $line[0];
                                  session_register();
                                  ob_end_clean(); // Supprimer le buffer de sorties
                                  header ("Location:  http://".$_SERVER['HTTP_HOST']. 
                                           dirname($_SERVER['PHP_SELF'])."/index.php"); // DIES IST ZEILE 64!!!
                                  exit();
                                 } 
                            else
                                  {
                                  echo("
    
    <font color='red' size='+1'>Tu as inséré un mauvais mot de passe!</font></p>");
                                  } 
                             }
                  else
                             {
                             echo("Tu as inséré un mauvais mot de passe!");
                             }
    Also ich begreif einfach nicht, was das <div>-Tag damit zu tun haben soll...

    übrigens: Wenn das Skript zum ersten mal aufgerufen wird, gibts noch keine Fehlermeldung, sondern es wird ein Formular aufgerufen, wo man Benzuternamen und Passwort eingeben kann. Mit dem Formular wird erneut die Seite login.php aufgrufen, und dann kommt die Fehlermeldung, anstatt dass man zur Seite index.php weitergeleitet wird...

  • #2
    a) mein französisch ist ein bissel eingerostet
    ne pas: session_register();
    $_SESSION['name']

    beim direkten zugriff auf die sg $_SESSION

    b)
    include ("../_header.htm");
    wenn dann sollte hier vor der buffer geleert werden

    da eine ausgabe vor dem include meist mit header fehler quittiert wird

    Kommentar


    • #3
      Was meinst du mit
      a) mein französisch ist ein bissel eingerostet
      ne pas: session_register();
      $_SESSION['name']
      ?? Ich muss also die Reihenfolge von session_register(); und $_SESSION['name'] ändern??

      unb b) ich füge also die Funktion ob_end_clean(); vor include() ein???

      Kommentar


      • #4
        a) beim zugriff auf die SuperGlobale $_SESSION ist ein session_register()
        "sinnbefreit"

        b) jupp so scheint es auszusehen

        mfg

        Kommentar


        • #5
          Die Suchfunktion liefert mit headers already sent

          Die Suche hat 610 Ergebnisse ergeben.

          Gruß
          phpfan

          Kommentar


          • #6
            Danke, es funktioniert jetzt.

            @phpfan: Meine Suchmaschine spickt sogar 3.220.000 Einträge aus... Glaubst du ich hätte es nicht zuerst so versucht bevor ich ins Forum gekommen bin??

            Kommentar


            • #7
              Gemeint war die Suche in diesem Forum.
              **********************************
              Nein, ich bin nicht die Signatur.
              Ich putze hier nur.
              **********************************

              Kommentar

              Lädt...
              X