kostenloser Webspace werbefrei: lima-city


Warum kommt hier eine Fehlermeldung?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    t******k

    Hallo,

    auf meinem Index kommt da so ne Fehlermeldung, die nicht wirklich h?bsch aussieht. Und die soll da jezt auch weg und das ganze mit dem Cookie soll auch funktionieren. Aber erst ein mal der Quelltext und Fehlermeldung.

    Fehlermeldung:
    Warning: Cannot modify header information - headers already sent by (output started at /home/webpages/lima-city/tt-freak/html/index.php:12) in /home/webpages/lima-city/tt-freak/html/index.php on line 33

    Quelltext:
    <!doctype html public "-//W3C//DTD HTML 4.0 //EN">
    <html>
    <head>
    <title>Meine Homepage</title>
    <link rel="stylesheet" type="text/css" href="css/links.css">
    </head>
    <body text="#000000" bgcolor="#00E3FF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
    <table border="0">
    <colgroup>
    <col width="200">
    <col width="824">
    </colgroup>
    <tr>
    <td>
    <? include("include/menue.php") ?>
    </td>
    <td align="center">
    <h2><u>Willkommen auf meiner Homepage</u></h2><br>
    <?
    $datei_name = "counter.txt";
    if (!file_exists($datei_name)) {
    $dz = fopen($datei_name, "w");
    fwrite($dz, "1");
    fclose($dz);
    }
    $dz = fopen($datei_name, "r");
    $counter = fread($dz, 10);
    fclose($dz);
    $besucher = $_COOKIE['besucher'];
    if (!isset($besucher)) {
    setcookie ("besucher", "ja");
    $counter++;
    $dz = fopen($datei_name, "w");
    fwrite($dz, $counter);
    fclose($dz);
    }
    ?>
    Herzlichen Gl?ckwunsch, dass du es als <?=$counter;?>. geschafft hast, meine Seite zu finden.<br>
    </td>
    </tr>
    </table>
    </body>
    </html>

    Irrelevantes (schreibt man das so?) hab ich weggelassen. Wenn ihr noch mehr vom Quelltext braucht, schreib ich den auch noch hin, aber das ist eigentlich nur das Herrausfinden des Wochentages und ein Hallo sagen sowie eine kleine Problembehebung.

    PS: Ich bin mir sicher, dass bald Hilfe kommt.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Der Fehler liegt in Zeile 33, die du eingetlich heraushaben h?ttest k?nnen.
    setcookie ("besucher", "ja");



    Warum?
    Darum :
    http://de2.php.net/setcookie

    Sie m?ssen deshalb solche Funktionsaufrufe vor irgendwelchen Ausgaben, inklusive <html>- oder <head>-Tags sowie irgendwelcher Whitespaces t?tigen.
  4. Autor dieses Themas

    t******k

    menue.php:
    <!doctype html public "-//W3C//DTD HTML 4.0 //EN">
    <html>
    <head>
    <title></title>
    </head>
    <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
    <?
    $menue = array(
    "Home" => "index.php",
    "?ber mich" => "ich.php",
    "Forum" => "forum.php",
    "G?stebuch" => "guestbook.php",
    "Tischtennis" => "tt.php",
    "Spiele" => "spiele.php",
    "Downloads" => "downloads.php",
    "Sonstiges" => "sonstiges.php",
    "Kontakt" => "kontakt.php",
    "Impressum" => "impressum.php"
    );
    ?>
    <table border="1">
    <? foreach($menue as $eintrag => $datei){
    if ($datei == basename($_SERVER['PHP_SELF'])) {
    echo "<tr>";
    echo "<td align=\"left\" bgcolor=\"#00C3FF\">";
    echo $eintrag;
    echo "</td>";
    echo "</tr>";
    } else {
    echo "<tr>";
    echo "<td align=\"left\" bgcolor=\"#00E3FF\">";
    echo "<a href=\"$datei\">$eintrag</a>";
    echo "</td>";
    echo "</tr>";
    }
    }
    ?>
    </table>
    </body>
    </html>

    @lucas9911:
    Das mit dem Cookie soll doch funktionieren, ansonsten kommt doch wieder irgenjemand an, der 200 Mal den Index l?dt und damit den Counter in die H?he treibt.

    Beitrag ge?ndert am 2.10.2005 15:40 von tt-freak

  5. @lucas9911:
    Das mit dem Cookie soll doch funktionieren, ansonsten kommt doch wieder irgenjemand an, der 200 Mal den Index l?dt und damit den Counter in die H?he treibt.

    Beitrag ge?ndert am 2.10.2005 15:40 von tt-freak


    ?????

    lucas9991 hat nur gesagt das dein cookie vor jeglichen ausgaben gesetzt werden muss also schon in deiner index.php vor der 2.ten zeile

    mfg apollo13
  6. Autor dieses Themas

    t******k

    Aber wie soll ich dann noch unterscheiden k?nnen, wer auf meiner Seite war oder nicht? Wenn der Cookie am Anfang gesetzt wird, kann ich doch keine Abfrage mehr machen, ob ein Cookie gesetzt ist oder nicht!

    Hilfe!!!!!!!!!!!

  7. Aber wie soll ich dann noch unterscheiden k?nnen, wer auf meiner Seite war oder nicht? Wenn der Cookie am Anfang gesetzt wird, kann ich doch keine Abfrage mehr machen, ob ein Cookie gesetzt ist oder nicht!

    Hilfe!!!!!!!!!!!

    Richtig.
    Damit w?re deine Frage beantwortet.

    Du willst aber sicherlich eine L?sung h?ren. ;)
    Versuch mal folgendes :
    <?php
    ob_start();
    //restlicher PHP Code
    ob_end_flush();
    ?>
  8. Autor dieses Themas

    t******k

    Ich habe jetzt folgendes gemacht (es geht weiter nach der ?berschrift in der zweiten Spalte):

    <h2><u>Willkommen auf meiner Homepage</u></h2><br>
    <? ob_start();
    $datei_name = "counter.txt";
    if (!file_exists($datei_name)) {
    $dz = fopen($datei_name, "w");
    fwrite($dz, "1");
    fclose($dz);
    }
    $dz = fopen($datei_name, "r");
    $counter = fread($dz, 10);
    fclose($dz);
    $besucher = $_COOKIE['besucher'];
    if (!isset($besucher)) {
    setcookie ("besucher", "ja");
    $counter++;
    $dz = fopen($datei_name, "w");
    fwrite($dz, $counter);
    fclose($dz);
    }
    ob_end_flush();
    ?>
    Herzlichen Gl&uuml;ckwunsch, dass du es als <?=$counter;?>. geschafft hast, meine Seite zu finden.<br>

    ...</html>

    Aber es funktioniert nicht!
  9. Hmm ich hab ebendieses Problem auch.. seltsamerweise funktioniert das Script aber problemlos wenn ichs aufm Heimischen xampp laufen lasse :slant:

    Nachtrag:
    Aber was mir aufgefallen ist an deinem Code...
    Wenn es stimmt, dass die Cookies vor jeglichen Ausgaben initialisiert werden m?ssen, so hast du nachwievor einen ganz simplen Fehler drin.
    Lass dieses Cookie-Php-Script einfach laufen, bevor du ?berhaupt einen html-tag aufmachst.. also einfach gleich in die ersten paar Zeilen der Seite... Ausgegeben wird dabei ja nix. Somit sollte es an sich funktionieren... ich muss gleichmal nochmal meinen Code inspizieren, ich glaub mir kam grade die Erleuchtung :biggrin:

    Beitrag ge?ndert am 4.10.2005 14:24 von wiede
  10. Autor dieses Themas

    t******k

    Genial! Es funktioniert! Ey Wiede, danke danke danke danke usw. +9999xDanke!!!

    @all:
    Man muss das ganze Script ganz an den Anfang setzen. Noch vor die HTML-Version. Danke!



  11. Genial! Es funktioniert! Ey Wiede, danke danke danke danke usw. +9999xDanke!!!

    @all:
    Man muss das ganze Script ganz an den Anfang setzen. Noch vor die HTML-Version. Danke!




    Jaja... ;-)

    Ich will noch eine kleine Anmerkung machen :
    Bei Session muss man auch darauf aufpassen. Aber wie gesagt mit der Funktion "ob_start ()" und der anderen kann man dies umgehen.

    MfG Lucas
  12. 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!