kostenloser Webspace werbefrei: lima-city


Cookie zerstört sich immer selbst

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    michelbach

    Kostenloser Webspace von michelbach, auf Homepage erstellen warten

    michelbach hat kostenlosen Webspace.

    Hi, ich habe das Problem, dass sich ein sehr wichtiger Cookie selbst zerstört, nachden man ihn das erste mal verwendet hat. Ich habe damit angefangen einen Chat zu schreiben, das geht auch wunderbar, nur soll man zuerst einen Nickname wählen. hier sind mal die Dateien, die ich habe:

    chat.php:

    </td>
    <td style=\"background-image:url(graphic/border/r5.png);\"></td>
    </tr>
    <tr><td height=\"8\" style=\"background-image:url(graphic/border/r6.png);\"></td><td style=\"background-image:url(graphic/border/r7.png);\"></td><td style=\"background-image:url(graphic/border/r8.png);\"></td></tr>
    </table></td>

    <td valign=\"top\"><table class=\"blind\" cellspacing=\"0\" style=\"margin:6px\">
    <tr><td width=\"8\" height=\"8\" style=\"background-image:url(graphic/border/r1.png);\"></td><td style=\"background-image:url(graphic/border/r2.png);\"></td><td width=\"8\" style=\"background-image:url(graphic/border/r3.png);\"></td></tr>
    <tr>
    <td style=\"background-image:url(graphic/border/r4.png);\"></td>
    <td>
    <form action=\"chat3.php\" method=\"post\">
    <table class=\"in_border\" width=\"252\">
    <tr><td colspan=\"2\"><h4>Chat</h4></td></tr>
    <tr>
    <td align=\"right\" bgcolor=\"#E6E6E6\"><font color=\"#000000\" face=\"Arial,helvetica\" size=\"-1\">Nickname:</font></td>
    <td bgcolor=\"#E6E6E6\"><input type=\"text\" name=\"name\" value size=\"20\"></td>
    </tr>







    </td></tr>
    <td align=\"center\"><input type=\"image\" src=\"http://michelbach.lima-city.de/go.JPG\" /></td></tr>

    </table>
    </form>






    chat3.php:


    <?php
    $vare = time() + 6000;
    ($name = $_POST[\'name\']);
    setcookie(\"nickname\", $name, $vare);
    $fppp = fopen(\"chat.txt\",\"r\");
    ($nickname = $_COOKIE[\'nickname\']);
    if ($fppp)
    {while (!feof($fppp))
    {$zeile = fgets($fppp, 1050);
    echo $zeile;}
    fclose($fppp);}





    if (\"\"==$nachricht) {
    echo \"<br />\\n\";
    echo \"<br />\\n\";
    echo \"Bitte Nachricht eingeben!<br />\\n\";
    echo \"<br />\\n\";
    echo \"<br />\\n\";
    } else {

    $nl = chr(13) . chr(10);

    $fp = fopen(\"chat.txt\",\"a\");

    if ($fp)
    {flock($fp,2);
    fputs ($fp, \"$nickname $nachricht<br />\\n\");
    flock($fp,3);
    fclose($fp);}

    }

    ?>

    </td>
    <td style=\"background-image:url(graphic/border/r5.png);\"></td>
    </tr>
    <tr><td height=\"8\" style=\"background-image:url(graphic/border/r6.png);\"></td><td style=\"background-image:url(graphic/border/r7.png);\"></td><td style=\"background-image:url(graphic/border/r8.png);\"></td></tr>
    </table></td>

    <td valign=\"top\"><table class=\"blind\" cellspacing=\"0\" style=\"margin:6px\">
    <tr><td width=\"8\" height=\"8\" style=\"background-image:url(graphic/border/r1.png);\"></td><td style=\"background-image:url(graphic/border/r2.png);\"></td><td width=\"8\" style=\"background-image:url(graphic/border/r3.png);\"></td></tr>
    <tr>
    <td style=\"background-image:url(graphic/border/r4.png);\"></td>
    <td>
    <form action=\"chat3.php\" method=\"post\">
    <table class=\"in_border\" width=\"252\">
    <tr><td colspan=\"2\"><h4>Chat</h4></td></tr>
    <tr>
    <td align=\"right\" bgcolor=\"#E6E6E6\"><font color=\"#000000\" face=\"Arial,helvetica\" size=\"-1\">Nachricht:</font></td>
    <td bgcolor=\"#E6E6E6\"><input type=\"text\" name=\"nachricht\" value size=\"20\"></td>
    </tr>







    </td></tr>
    <td align=\"center\"><input type=\"image\" src=\"http://michelbach.lima-city.de/go.JPG\" /></td></tr>

    </table>
    </form>

    <p><a target=\"_self\" href=\"http://game-nr.1.am/chat3.php\">nachschauen, ob jemand was geschrieben hat!</a></p>







    In chat3.php wird der cookie aus der geposteten variable gebildet. Ich hab mal alle cookies gelöscht, die siete chat.php aufgemacht und mir einen Nickname ausgedacht. Nach dem sich die seite chat3.php geöffnet hat, war der Cookie zu sehen. als ich die erste Nachricht abgeschickt habe war der cookie plötzlich verschwunden, obwohl ich im eine Lebensdauer von 100 Minuten gegeben habe.. Wichtig: es liegt nicht am schreiben in die Textdatei und dem lesen, das geht alles!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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


  3. geht lieber aus \"Zitieren\", hier im Forum wird ja alles zu smiliys gemacht..


    Mal 2 Tipps am Rande:

    1. Wenn du einfach \"[ C O D E ] bla [ / C O D E ] \" Eintippst, hast du dieses Problem nicht, dann sieht es so aus:

    Hahaha
    hehehe
    hohoho
    usw 
    usf


    2. Doppelpostings sind hier sehr ungern gesehen, wir haben extra einen \"Edit\" Button in Form einer Scheere dafür, wie wärs, wenn du den mal nutzen würdest?
  4. Autor dieses Themas

    michelbach

    Kostenloser Webspace von michelbach, auf Homepage erstellen warten

    michelbach hat kostenlosen Webspace.

    tut mir sorry, die 5 gulden kann man mir ja wieder abziehen.. Und hier dann des:


    chat.php:

    </td>
    <td style=\"background-image:url(graphic/border/r5.png);\"></td>
    </tr>
    <tr><td height=\"8\" style=\"background-image:url(graphic/border/r6.png);\"></td><td style=\"background-image:url(graphic/border/r7.png);\"></td><td style=\"background-image:url(graphic/border/r8.png);\"></td></tr>
    </table></td>
    
    <td valign=\"top\"><table class=\"blind\" cellspacing=\"0\" style=\"margin:6px\">
    <tr><td width=\"8\" height=\"8\" style=\"background-image:url(graphic/border/r1.png);\"></td><td style=\"background-image:url(graphic/border/r2.png);\"></td><td width=\"8\" style=\"background-image:url(graphic/border/r3.png);\"></td></tr>
    <tr>
    <td style=\"background-image:url(graphic/border/r4.png);\"></td>
    <td>
            <form action=\"chat3.php\" method=\"post\">
            <table class=\"in_border\" width=\"252\">
            <tr><td colspan=\"2\"><h4>Chat</h4></td></tr>
            <tr>
       <td align=\"right\" bgcolor=\"#E6E6E6\"><font color=\"#000000\" face=\"Arial,helvetica\" size=\"-1\">Nickname:</font></td>
        <td bgcolor=\"#E6E6E6\"><input type=\"text\" name=\"name\" value size=\"20\"></td>
     </tr>
    
            
    
    
    
    
    
            </td></tr>
            <td align=\"center\"><input type=\"image\" src=\"http://michelbach.lima-city.de/go.JPG\" /></td></tr>
    
            </table>
            </form>


    die chat3.php:

    <?php
    $vare = time() + 6000;
    ($name = $_POST[\'name\']);
    setcookie(\"nickname\", $name, $vare);
    $fppp = fopen(\"chat.txt\",\"r\");
    ($nickname = $_COOKIE[\'nickname\']);
    if ($fppp)
    {while (!feof($fppp))
    {$zeile = fgets($fppp, 1050);
    echo $zeile;}
    fclose($fppp);}
    
    
    
    
    
    if (\"\"==$nachricht) {
    echo \"<br />\\n\";
    echo \"<br />\\n\";
    echo \"Bitte Nachricht eingeben!<br />\\n\";
    echo \"<br />\\n\";
    echo \"<br />\\n\";
    } else {
    
    $nl = chr(13) . chr(10);
    
    $fp = fopen(\"chat.txt\",\"a\");
    
    if ($fp)
    {flock($fp,2);
    fputs ($fp,   \"$nickname $nachricht<br />\\n\");
    flock($fp,3);
    fclose($fp);}
    
    }
    
    ?>
    
            </td>
    <td style=\"background-image:url(graphic/border/r5.png);\"></td>
    </tr>
    <tr><td height=\"8\" style=\"background-image:url(graphic/border/r6.png);\"></td><td style=\"background-image:url(graphic/border/r7.png);\"></td><td style=\"background-image:url(graphic/border/r8.png);\"></td></tr>
    </table></td>
    
    <td valign=\"top\"><table class=\"blind\" cellspacing=\"0\" style=\"margin:6px\">
    <tr><td width=\"8\" height=\"8\" style=\"background-image:url(graphic/border/r1.png);\"></td><td style=\"background-image:url(graphic/border/r2.png);\"></td><td width=\"8\" style=\"background-image:url(graphic/border/r3.png);\"></td></tr>
    <tr>
    <td style=\"background-image:url(graphic/border/r4.png);\"></td>
    <td>
            <form action=\"chat3.php\" method=\"post\">
            <table class=\"in_border\" width=\"252\">
            <tr><td colspan=\"2\"><h4>Chat</h4></td></tr>
            <tr>
       <td align=\"right\" bgcolor=\"#E6E6E6\"><font color=\"#000000\" face=\"Arial,helvetica\" size=\"-1\">Nachricht:</font></td>
        <td bgcolor=\"#E6E6E6\"><input type=\"text\" name=\"nachricht\" value size=\"20\"></td>
     </tr>
    
            
    
    
    
    
    
            </td></tr>
            <td align=\"center\"><input type=\"image\" src=\"http://michelbach.lima-city.de/go.JPG\" /></td></tr>
    
            </table>
            </form>
    
    <p><a target=\"_self\" href=\"http://game-nr.1.am/chat3.php\">nachschauen, ob jemand was geschrieben hat!</a></p>


    so is besser, oder?
  5. s*******a

    Hast du dem Cookie ein Verfallsdatum gegeben?


    Beitrag geändert: 11.5.2008 11:28:10 von supernova
  6. Autor dieses Themas

    michelbach

    Kostenloser Webspace von michelbach, auf Homepage erstellen warten

    michelbach hat kostenlosen Webspace.

    ja, 100 minuten. steht im 2. code 2. und 4. zeile
  7. So wie ich das sehe, hast Du einen kleinen Denkfehler. Ein Cookie ist immer erst nach erneutem Aufrufen der Seite sprich einem Reload verfügbar.

    Du setzt den Cookie und möchtest ihn sofort wieder abfragen... Funktioniert nicht!!! Ich versteh auch nicht, wieso du Zuweisungen in Klammern setzt :confused:

    <?php
    $vare = time() + 6000;
    $name = $_POST[\'name\'];
    setcookie(\"nickname\", $name, $vare);
    $fppp = fopen(\"chat.txt\",\"r\");
    $nickname = (isset($COOKIE[\'nickname\']) ? $_COOKIE[\'nickname\'] : $name;
    
    [...]


    Nicht getestet, aber müsste gehen...
  8. Autor dieses Themas

    michelbach

    Kostenloser Webspace von michelbach, auf Homepage erstellen warten

    michelbach hat kostenlosen Webspace.

    nein, des erste mal geht, nur die erneuten male gehen nicht.. Des tut auch net
  9. Ändere mal:

    setcookie(\"nickname\", $name, $vare);

    in:

    if (!isset($_COOKIE[\'nickname\'])) setcookie(\"nickname\", $name, $vare, \"/\");



    Beitrag geändert: 11.5.2008 15:07:47 von staymyfriend
  10. t*****b

    Ich denke es ist schon ein Cookie vorhanden, doch dieser ist leer sofern du $_POST[\"name\"] nicht mitsendest. Somit überschreibst du das Cookie mit einem leeren Wert. Schau doch einfach mal mit dem Browser den Wet des Cookies (zB bei FF \"Extras->Seiteninformationen->Sicherheit->Cookies anzeigen\").
  11. Autor dieses Themas

    michelbach

    Kostenloser Webspace von michelbach, auf Homepage erstellen warten

    michelbach hat kostenlosen Webspace.

    nein, ich habe alle cookies gelöscht..
  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!