Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Cannot send session cache limiter

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Cannot send session cache limiter

    Hallo Liebe community,

    ich bastel seit neuestem eine Webseite mit PHP. Da ich keine Ahnung von sesionbasierten Loginsystemen habe, habe ich über ein Tutorial das System implementiert (kopiert ).

    Allerdings bekommen ich nun folgende Fehlermeldung :

    arning: session_start(): Cannot send session cache limiter - headers already sent (output started at /mnt/webo/b1/28/54131128/htdocs/index.php:2) in /mnt/webo/b1/28/54131128/htdocs/auth.php on line 2

    Nach Schlaulesen im Internet gab es mehrere Fehlerquellen die möglich sind.
    -Leerzeichen vor den <?php
    -falsche Codierung (UTF-8 mit BOM)
    - Folgefehler

    Ich habe es mittlerweile mehrmals überprüft und kann keinen dieser Fehler erkennen. Deswegen wende ich mich nun an euch. Vielleicht habt ihr ja eine Idee?

    Der dazugehörige Code:

    index.php:
    PHP-Code:
    <?php include('auth.php');?>

     <?php
     
     
     
            $mysqlhost
    =""// MySQL-Host angeben
            
    $mysqluser=""// MySQL-User angeben
            
    $mysqlpwd=""// Passwort angeben
            
    $mysqldb=""// Gewuenschte Datenbank angeben
            
    $connection=mysql_connect($mysqlhost$mysqluser$mysqlpwd) or die("Verbindungsversuch fehlgeschlagen");
            
            
    mysql_select_db($mysqldb$connection) or die("Konnte die Datenbank nicht waehlen.");
            
    mysql_query("SET Inhalt 'utf8'");
            
    $sql "SELECT ID,Datum,Titel,Inhalt FROM Tabelle
                    ORDER BY Datum DESC
                    Limit 3"
    ;
                    

            
    $resultmysql_query($sql) or die("Anfrage nicht erfolgreich");
            
        
    ?>

    <html>
        <head>
            <title>Courassion</title>
            <meta http-equiv="content-type" content="text/html; charset=utf-8" />
            <meta name="description" content="" />
            <meta name="keywords" content="" />
            <link href="http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800" rel="stylesheet" type="text/css" />
            <link rel="stylesheet" href="css/style_login.css" media="screen" type="text/css" />
            <!--[if lte IE 8]><script src="js/html5shiv.js"></script><![endif]-->
            <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
            <script src="js/skel.min.js"></script>
            <script src="js/skel-panels.min.js"></script>
            <script src="js/init.js"></script>
            <noscript>
                <link rel="stylesheet" href="css/skel-noscript.css" />
                <link rel="stylesheet" href="css/style.css" />
                <link rel="stylesheet" href="css/style-desktop.css" />
            </noscript>
        </head>
        


        <body class="homepage">
        <?php 
         
    if (!isset($_SESSION['username'])) {
    echo
    '<span href="#" class="buttonlogin" id="toggle-login">Log in</span>

                                <div id="login">
                                <div id="triangle"></div>
                                <h1>Log in</h1>
                                <form action="login.php" method="post">
                                    <input type="email" placeholder="Email" name="username" />
                                    <input type="password" placeholder="Password" name="passwort" />
                                    <input type="submit" value="Log in" />
                                </form>
                            </div>'
    ;  
                            }else {
                            echo
    '<span href="#" class="buttonlogin" id="toggle-login">Logout</span>
                            <form action="logout.php">
                            <input type="submit" value="Logout" />
                            </form>'
    ;
                            }
                            
    ?>
            <!-- Header -->
            <div id="header-wrapper">
            
                <div id="header" class="container">
                
                    <div id="logo"><h1><a href="#">Courassion</a></h1></div>
                    <nav id="nav">
                        <ul>
                            <li class="current_page_item"><a href="index.php">Homepage</a></li>
                            <li><a href="aboutus.html">About Us</a></li>
                            <li><a href="tourdates.html">Tourdates</a></li>
                            <li><a href="#">Press</a></li>
                            <li><a href="gallery.html">Gallery</a></li>
                            <li><a href="Contact.html">Contact</a></li>
                            
                            
                            
                        </ul>
                    </nav>
                  
                </div>
                
                <div id="banner">
                    <div class="container">
                        <div class="row">
                            <section class="12u">
                                <header>
                                    <h2>Live and unplugged</h2>
                                    <span class="byline"></span>
                                </header>
                                <a href="#" class="button button-alt">Read More</a>
                            </section>
                        </div>
                    </div>
                </div>            

            </div>
            <!-- Header Ends Here -->

            <!-- Featured Area -->
                <div id="featured-wrapper">
                
                    <div class="container">
                        <div class="row double">
                        
                            <section class="4u">
                               <header>
                                   <h2>About Us</h2>
                               </header>
                                <span class="pennant"><span class="fa fa-apple"></span></span>
                                <p>Seit mittlerweile 5 Jahren spielen wir zusammen. Erfahrt wer wir sind und wofür wir stehen!</p>
                                <a href="#" class="button button-style1">Read More</a>
                            </section>
                            <section class="4u">
                                <header>
                                    <h2>Tourdates</h2>
                                </header>
                                <span class="pennant"><span class="fa fa-rocket"></span></span>
                                <p>Verpasse keinen Auftritt von uns!.</p>
                                <a href="#" class="button button-style1">Read More</a>
                            </section>
                            <section class="4u">
                                <header>
                                    <h2>Press</h2>
                                </header>
                                <span class="pennant"><span class="fa fa-cogs"></span></span>
                                <p>Das sagt die Presse über uns!</p>
                                <a href="#" class="button button-style1">Read More</a>
                            </section>
                        
                        </div>
                    </div>
                    
                </div>
            
            
            <!-- Featured Ends Here -->

            <!-- Page -->
            
                <div id="page">
                    <div class="container">
                        <div class="row">
                        
                            <div id="content" class="8u">
                                <article>
                                    <header>
                                        <h2>Aktuelles</h2>
                                    </header>
                                    <a href="#" class="image-style1"><img src="images/microphone.JPG" alt=""></a>
                                   
                                    
                                </article>
                                <div id="two-column">
                                    <div class="row">
                                        <section class="6u">
                                        <h2>Verpassen Sie keine Neuigkeiten über uns und unsere Auftritte</h2>
                                         <?php
        
            
    while ($row =mysql_fetch_assoc($result)) {
                
                
                
                
                            
                                  
                                      echo
    '<ul class="style3">
                                                <li class="first">
                                                   <p><span class="date"><a href="">'
    .$row["Datum"].'</a></span><span class="heading-title">'.$row["Titel"].'</span></p>
                                                  <p><a href="">'
    .$row["Inhalt"].'</a></p>
                                              </li>'
    ;
    }
                
                   
    mysql_close($connection);
                   
    ?>
                
                
                                             
                                              
                                       
                                    </div>
                                </div>
                            </div>
                            
                            <div id="sidebar" class="4u">
                                <div class="row">
                                    <section id="box1" class="6u">
                                        <h2>Bildergalerie</h2>
                                        <ul class="style4">
                                            <li class="first"><a href="#">Kulturpreis Göttingen</a></li>
                                            <li><a href="#">Open Air Krebeck</a></li>
                                            <li><a href="#">Strassenfest Krebeck</a></li>
                                            <li><a href="#">Benefizkonzert Bleicherode</a></li>
                                            <li><a href="#">Rhumspringe</a></li>
                                           
                                        </ul>
                                    </section>
                                    
                                    
                                </div>
                                <section id="box2">
                                    <h2>Über uns</h2>
                                    <ul class="style2">
                                        <li class="first">
                                            <p><a href="#"><img src="images/pics07.jpg" alt="">Pellentesque viverra vulputate enim. Aliquam erat volutpat. Donec leo, vivamus nibh in augue praesent congue rutrum. </a></p>
                                        </li>
                                        <li>
                                            <p><a href="#"><img src="images/pics08.jpg" alt="">Aliquam lacinia metus ut elit. Suspendisse iaculis mauris nec lorem. Donec leo, vivamus fermentum augue praesent congue rutrum.</a></p>
                                        </li>
                                        <li>
                                            <p><a href="#"><img src="images/pics09.jpg" alt="">Suspendisse sit amet tellus in eros bibendum condimentum. Donec leo, fermentum nibh in augue praesent a lacus congue rutrum. </a></p>
                                        </li>
                                        <li>
                                            <p><a href="#"><img src="images/pics10.jpg" alt="">Aliquam lacinia metus ut elit. Suspendisse iaculis mauris nec lorem. Donec leo, vivamus fermentum augue praesent congue rutrum.</a></p>
                                        </li>
                                    </ul>
                                    <a href="#" class="button button-style1">Read More</a>
                                </section>
                            </div>
                        
                        </div>
                    </div>
                </div>
                
            <!-- /Page -->

            <!-- Copyright -->
                <div id="copyright" class="container">
                    Images: 
                </div>
    <script src='http://codepen.io/assets/libs/fullpage/jquery.js'></script>

      <script src="js/index.js"></script>

        </body>
        
    </html>
    auth.php
    PHP-Code:
    <?php
    session_start
    ();

         
    $hostname $_SERVER['HTTP_HOST'];
         
    $path dirname($_SERVER['PHP_SELF']);

         if (!isset(
    $_SESSION['username']) || !$_SESSION['username']) {
          
          exit;
          }
    Vielleicht ist noch wichtig zu erwähnen dass ich über strato hoste.

    Ich hoffe ihr könnt mir helfen. Danke schonmal

    Grüße
    Didi95

  • #2
    PHP sagt dir doch, wo das Problem ist: output started ...
    Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

    Kommentar


    • #3
      muss ich also immer ein ob_start() vorpacken?

      Kommentar


      • #4
        (output started at /mnt/webo/b1/28/54131128/htdocs/index.php:2
        also index.php line 2

        Kommentar


        • #5
          ich kapier das nicht. in der Fassung war in line 2 der include befehl der auth.php. das hab ich dann geändert und hab das alles in line 1 gesteckt. jetzt ist alles weiß und selbst meine Errorlog zeigt keine Fehler an.

          Kommentar


          • #6
            Ich habe jetzt nochmals die Kodierung utf8 und utf8 ohne bom ausprobiert. ohne bom zeigt mir meine errorlog.php nichts an, mit normaler kodierung läufts. Mittlerweile bin ich echt am ende, ich verstehe die Natur des Fehlers nicht. ob_start funktioniert auch nicht.

            Kommentar


            • #7
              Zitat von Didi95 Beitrag anzeigen
              ich kapier das nicht. in der Fassung war in line 2 der include befehl der auth.php. das hab ich dann geändert und hab das alles in line 1 gesteckt. jetzt ist alles weiß und selbst meine Errorlog zeigt keine Fehler an.
              es bringt sich weiter den zur fehlermeldung gehörenden code zu posten.

              in dem geposteten code ist in der zeile zwei zumindest ein "\n", möglicherweise mehr.
              die zeile drei hat ein " ", gleich am anfang.

              Kommentar


              • #8
                Zitat von Didi95 Beitrag anzeigen
                Ich habe jetzt nochmals die Kodierung utf8 und utf8 ohne bom ausprobiert. ohne bom zeigt mir meine errorlog.php nichts an, mit normaler kodierung läufts. Mittlerweile bin ich echt am ende, ich verstehe die Natur des Fehlers nicht. ob_start funktioniert auch nicht.
                Es kann kann gut sein, dass dir nichts angezeigt wird, wenn deine Session-Variablen nicht gesetzt sind (siehe exit in auth.php).

                Kommentar


                • #9
                  Danke für eure Antworten

                  Chris danke, jetzt weiß ich zumindest wieso er mir da nie was anzeigt. Ich hab das mal soweit geändert, das Problem scheint die Logout Datei zu sein. Dort tritt genau der Header Fehler auf.

                  PHP-Code:
                  <?php 
                  session_start
                  ();
                  session_destroy();
                  $hostname $_SERVER['HTTP_HOST'];
                  $path dirname($_SERVER['PHP_SELF']);
                  ?>
                  ebenfalls bei session_start(); jedes mal wieder, egal wie ich es ändere.

                  Hätte jemand von euch eine leichter verständliche Variante, wie ich sessions implementieren kann?

                  Kommentar


                  • #10
                    session_start() sendet einen HTTP Header. Die Regel lautet: Keine Ausgabe vor dem Senden von Headern.
                    Kein echo, print, dump, keine Warn- oder Fehlermeldungen, kein HTML, Leerzeichen, nicht-druckbare Sonderzeichen oder BOM - nix!

                    "Headers already sent" kommt mit einer absolut exakten und zuverlässigen Angabe, wo die (falsche) Ausgabe begonnen hat. Genau dort muss man ansetzen.

                    Und mehr isses nich...
                    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                    Kommentar


                    • #11
                      Danke für eure Antworten. Wie sich herausgestellt hat war das Problem nicht so einfach wie gedacht, ich musste den Code noch einmal komplett umschreiben. Aber vielen Dank an alle für die Hilfe

                      Kommentar

                      Lädt...
                      X