kostenloser Webspace werbefrei: lima-city


lima-city und Cookies

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    icecream

    icecream hat kostenlosen Webspace.

    Ich bekomme es nicht hin per setcookie() einen Cookie zu setzen... es wird immer folgende meldung ausgegeben:

    Warning: Cannot modify header information - headers already sent by (output started at /home/webpages/lima-city/icecream/html/login.php:14) in /home/webpages/lima-city/icecream/html/login.php on line 43


    bei mir zuhause mit xampp! geht es und bei funpic geht es auch...

    im hilfesystem bat man mich, die frage mal ins forum zu setzen!


    wisst ihr wo das prob liegt???


    icecream/ferdinand24

    Beitrag ge?ndert am 23.01.2006 17:40 von icecream
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Vor dem header-Befehl darf keine Ausgabe erfolgen!
    Du musst zuerst Cookies setzen und dann den Text ausgeben.

    H2O

  4. Ich bekomme es nicht hin per setcookie() einen Cookie zu setzen... es wird immer folgende meldung ausgegeben:

    Warning: Cannot modify header information - headers already sent by (output started at /home/webpages/lima-city/icecream/html/login.php:14) in /home/webpages/lima-city/icecream/html/login.php on line 43


    bei mir zuhause mit xampp! geht es und bei funpic geht es auch...


    Dort klappt es mit Sicherheit auch nicht. Allerdings siehst du die Fehlermeldung nicht, weil deine PHP.ini "lascher" eingestellt ist. So zeigt dein PHP nicht alle Fehler an.

    im hilfesystem bat man mich, die frage mal ins forum zu setzen!


    wisst ihr wo das prob liegt???


    Entweder du machst es so, wie h2o vorgeschlagen hat. Wenn das nicht geht, weil du unbedingt "vor" dem Setzen der Cookies etwas ausgeben willst, dann musst du die normale Ausgabe puffern. Das geht so:

    ob_start();
    // Anfang deines alten Scriptes
    ...
    // Ende deines alten Scriptes
    ob_end_flush();
  5. Autor dieses Themas

    icecream

    icecream hat kostenlosen Webspace.

    auf meinem rechner mit xampp geht es aber ganz sicher... er zeigt den fehler nicht an, was nat?rlich auch daran liegen kann dass die php.ini nicht eingestellt ist aber ich seh so dass es nicht funzt:

    ich habe einen einfachen admin-login gebaut. wenn man das richtige PW eingibt wird ein cookie gesetzt und auf den folgenden seiten wird, sofern ein cookie gesetzt ist auch das admin-interface angezeigt. das geht bei funpic und ohost, da l?sst es mich einloggen, bei lima aber zeigt er mir immer an, es sei kein cookie gesetzt!!!

    also muss es demzufolge an lima liegen und nicht an meinem script!

    das script poste ich hier mal:

    login.php



    <html>
    <head>
    <link rel="stylesheet" href="layout\css\artikel.css" type="text/css">
    <title></title>
    </head>
    <body>
    <h1>Admin-Login</h1>
    <div align="center">
    <form action="login.php" method="post">
    <b>Benutzername:</b><br>
    <input type="text" name="username"><br><br>
    <b>Kennwort:</b><br>
    <input type="password" name="password"><br><br>
    <input type="submit" value="Einloggen"> <input type="submit" value="Ausloggen" name="logout">
    </form>
    </body>
    </html>

    <?
    include("#include.php");

    //Cookie auslesen
    $cookie = $_COOKIE['iclogin'];

    //Cookie negativ setzen, wenn Logout-Button gedr?ckt
    if ($_POST['logout'] == "Ausloggen") setcookie("iclogin", $no);

    //Meldung ausgeben
    if ($cookie == $yes) $status = $loggedin;
    else $status = $loggedout;
    echo $status;

    //Eingegebenes per POST ?bernehmen und md5-verschl?sseln
    $username = md5($_POST['username']);
    $password = md5($_POST['password']);

    //korrekte Daten md5-verschl?sselt
    $md5_un = "56364a95925bcf3fc8ba7611c44236a2";
    $md5_pw = "23a52f55395372e1cc847177be45e697";

    //wenn UN und PW richtig, Cookie setzen
    if ($password == $md5_pw && $username == $md5_un) {
    setcookie("iclogin", $yes);
    echo $loggedin;
    }
    ?>



    Die Variablen $loggedout, $loggedin, $yes und $no werden in der #include.php definiert (welche ja im oberen Teil des PHP-Scripts includet wird)


    ps. kann sein dass der code den ein oder anderen zeichenfehler aufweist, ich musste ihn mal eben schnell maskieren, damit lima ihn nicht implementiert (den html-code)

    ps2. ich wei?, der code ist insgesamt ziemlich umst?ndlich, aber ich bin php-anf?nger :biggrin:

    Beitrag ge?ndert am 23.01.2006 20:40 von icecream
  6. setzt den php teil vor:
    <html>
    <head>
    <link rel="stylesheet" href="layout\css\artikel.css" type="text/css">
    <title></title>
    </head>
    <body>
    <h1>Admin-Login</h1>
    <div align="center">
    <form action="login.php" method="post">
    <b>Benutzername:</b><br>
    <input type="text" name="username"><br><br>
    <b>Kennwort:</b><br>
    <input type="password" name="password"><br><br>
    <input type="submit" value="Einloggen">&nbsp;<input type="submit" value="Ausloggen" name="logout">
    </form>
    </body>
    </html>

    und dann m?sste es klappen
  7. Hi,

    du darfst nie Daten nach dem HTML-Code an den header schicken (z.B. eben mit setCookie oder header).
    Bei setCookie ist das auch so, da setCookie folgendes macht:

    header('Set-Cookie: name=wert; path=/');


    Es benutzt auch die header Methode.
    Dann musst du einfach so:

    include("#include.php");
    
    //Cookie auslesen
    $cookie = $_COOKIE['iclogin'];
    
    //Cookie negativ setzen, wenn Logout-Button gedr?ckt
    if ($_POST['logout'] == "Ausloggen") setcookie("iclogin", $no);
    
    //Meldung ausgeben
    if ($cookie == $yes) $status = $loggedin;
    else $status = $loggedout;
    echo $status;
    
    //Eingegebenes per POST ?bernehmen und md5-verschl?sseln
    $username = md5($_POST['username']);
    $password = md5($_POST['password']);
    
    //korrekte Daten md5-verschl?sselt
    $md5_un = "56364a95925bcf3fc8ba7611c44236a2";
    $md5_pw = "23a52f55395372e1cc847177be45e697";
    
    //wenn UN und PW richtig, Cookie setzen
    if ($password == $md5_pw && $username == $md5_un) {
    setcookie("iclogin", $yes);
    echo $loggedin;
    }
    ?>
    <html>
    <head>
    <link rel="stylesheet" href="layout\css\artikel.css" type="text/css">
    <title></title>
    </head>
    <body>
    <h1>Admin-Login</h1>
    <div align="center">
    <form action="login.php" method="post">
    <b>Benutzername:</b><br>
    <input type="text" name="username"><br><br>
    <b>Kennwort:</b><br>
    <input type="password" name="password"><br><br>
    <input type="submit" value="Einloggen">&nbsp;<input type="submit" value="Ausloggen" name="logout">
    </form>
    </body>
    </html>


    mfg,
    hr
  8. lordoflima

    Admin Kostenloser Webspace von lordoflima

    lordoflima hat kostenlosen Webspace.

    Alle anderen Hosts haben Output-Buffering an, w?rde ich sagen.
  9. Autor dieses Themas

    icecream

    icecream hat kostenlosen Webspace.



    lordoflima schrieb:
    Alle anderen Hosts haben Output-Buffering an, w?rde ich sagen.


    was auch immer das ist, (klingt auf jeden fall interessant) warum unterst?tzt lima-city das nicht???????


    icecream/ferdinand24
  10. lordoflima

    Admin Kostenloser Webspace von lordoflima

    lordoflima hat kostenlosen Webspace.




    lordoflima schrieb:
    Alle anderen Hosts haben Output-Buffering an, w?rde ich sagen.


    was auch immer das ist, (klingt auf jeden fall interessant) warum unterst?tzt lima-city das nicht???????


    icecream/ferdinand24


    lima-city unterst?tzt es. Allerdings ist es nicht standardm??ig aktiviert, da dies in einer normalen PHP-Umgebung auch nicht der Fall ist. Diese Anbieter verwenden es z.B. zu Kompression der Daten vor der ?bertragung. Wie in alopex' Beispiel ist es m?glich, es manuell zu aktivieren.
  11. Autor dieses Themas

    icecream

    icecream hat kostenlosen Webspace.



    lordoflima schrieb:



    lordoflima schrieb:
    Alle anderen Hosts haben Output-Buffering an, w?rde ich sagen.


    was auch immer das ist, (klingt auf jeden fall interessant) warum unterst?tzt lima-city das nicht???????


    icecream/ferdinand24


    lima-city unterst?tzt es. Allerdings ist es nicht standardm??ig aktiviert, da dies in einer normalen PHP-Umgebung auch nicht der Fall ist. Diese Anbieter verwenden es z.B. zu Kompression der Daten vor der ?bertragung. Wie in alopex' Beispiel ist es m?glich, es manuell zu aktivieren.



    achso... ich hatte alopex' posting nicht gelesen bzw. jetzt keinen zusammenhang zwischen deinem und alopex' beitrag gesehen... ich aktiviere es gleich mal...

    *datei_?nder* *hochlad* *ausprobier*

    FUNZT!!!!!!!

    DANKE AN EUCH ALLE, DIE MIR GEHOLFEN HABEN!!!
  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!