Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 16

Thema: Cookie setzten und auslesen?

  1. #1
    LinuxNewbee
    Gast

    Question Cookie setzten und auslesen?

    Hallo !!!
    Ich möchte einen Shop programmieren !

    wie kann ich
    1. überprüfen ob bereits ein Cookie von mir beim entsprechdem User existiert?
    2. sollte ein Cookie von mir existieren, den Wert auslesen?
    3. sollte kein Cookie von mir existieren, einen Cookie auf dem Usersystem speichern und einen Wert schrieben?

    Wäre nett wenn sich da jemand auskennt und mir weiterhelfen kann !!!

    THX

    Kevin

  2. #2
    Registrierter Benutzer Avatar von lolli
    Registriert seit
    20.09.2000
    Beiträge
    166
    > 1. überprüfen ob bereits ein Cookie von mir beim entsprechdem User existiert?
    PHP-Code:
    if(isset($COOKIENAME)){
     
    # do something if the cookie exists

    > 2. sollte ein Cookie von mir existieren, den Wert auslesen?
    PHP-Code:
     echo $COOKIENAME
    > 3. sollte kein Cookie von mir existieren, einen Cookie auf dem Usersystem speichern und einen Wert schrieben?
    PHP-Code:
    if(!isset($COOKIENAME)){
     
    setcookie("COOKIENAME","COOKIEWERT",time()+3600,"/","deinedomain.de",0); # 1 h (60s*60min gültig)


    wichtig ist, dass di setcookie VOR ALLEN ANDEREN AUSGABEN aufrufen musst!

    ansonsten mal unter http://www.php3.de/manual/de/function.setcookie.php nachschlagen. der download der manualseiten sei dir hiermit auch wärmstens empfohlen....

    bis dann
    olicer

  3. #3
    LinuxNewbee
    Gast

    Warum funzt der Code nicht ?

    <html>
    <head>
    <title>
    </title>

    <body>
    <?
    $NewUser = 100001;
    if(!isset($UserNr))
    {
    setcookie("UserNr",$NewUser,time()+3600,"/","deinedomain.de",0);
    echo("Cookie wurde erstellt...<br>\n";
    }
    else
    {
    echo($UserNr);
    }
    ?>
    </body>
    </html>

    Fehlermeldung:
    Warning: Oops, php3_SetCookie called after header has been sent in /usr/local/httpd/htdocs/coocsolu/shop/buy.php3 on line 11

    Ich weiß man muss setcookie immer ganz am anfang schreiben, aber irgend etwas muss ich doch vorher tun, bevor ich den cookie setze - sonst hat das ganze ja keinen sinn !!
    Geändert von LinuxNewbee (17-02-2002 um 19:04 Uhr)

  4. #4
    deac
    Gast
    Nein vorher darf nichts stehen!
    Ich mache dir es mal einfacher und gib dir die Lösung, vielleicht verstehst du es auf Anhieb, was ich meine.
    PHP-Code:
    <?
        $NewUser = 100001;
        if(!isset($UserNr))
        {
            setcookie("UserNr",$NewUser,time()+3600,"/","deinedomain.de",0);
            echo("Cookie wurde erstellt...<br>\n";
        }
        else
        {
            echo($UserNr);
        }
    ?>
    <html>
        <head>
            <title> </title>
        </head>
        <body>
        </body>
    </html>

  5. #5
    LinuxNewbee
    Gast

    Thumbs up Achso!

    Es darf also vor einen setcookie keine HTML bzw. Browserausgabe erfolgen !! das war also gemient !!

    alles klara !! ich werds mal ausprobieren !!

    danke

    Kevin

    ps: wie kriegst du im forumtext deine sourcecode so formatiert ??

  6. #6
    Administrator
    Registriert seit
    13.04.1999
    Ort
    Reutlingen
    Beiträge
    535

    Exclamation OT --- Mal Hilfe lesen? -- für Kevin

    Hallo Kevin,

    wie das mit dem Code steht findest Du in der Hilfe (oben rechts).

    Oder auch genau hier:

    Link zu den Formatierungscodes

    Einfach mal durchlesen :ugly:

    Viele Grüsse

    Eicke

  7. #7
    LinuxNewbee
    Gast

    Unhappy Ooops ! Zu früh gefreut !

    PHP-Code:
    <script language="php">
      
    setcookie ("TestCookie""Test Value");
    </script>
    <html>
     <head>
      <title>CookieTest</title>
     </head>

     <body>
      <script language="php">
       
    echo $HTTP_COOKIE_VARS["TestCookie"];
      
    </script> 
     </body>
    </html> 
    Ich hab das mal so ausprobiert !! Das Problem ist jetzt jedoch, dass sich der Inhalt des Cookies nicht auslesen lässt. Jedenfalls nicht mit der $HTTP_COOKIE_VARS["..."] Konstante.
    Oder hab ich da was falsch gecoded ???
    Das kann doch nicht so scwer sein !

  8. #8
    Registrierter Benutzer Avatar von lolli
    Registriert seit
    20.09.2000
    Beiträge
    166
    lass dass &lt;script&gt;-zeug lieber weg und nimm

    <?php
    setcookie ("TestCookie", "Test Value");
    <?php>
    damit bist du auf der sicheren seite.


    olivder

  9. #9
    LinuxNewbee
    Gast

    Red face Hä?

    Die Frage war doch, wie ich den Cookie auslesen kann !!

    Kevin

  10. #10
    Registrierter Benutzer Avatar von lolli
    Registriert seit
    20.09.2000
    Beiträge
    166
    Oh sorry,
    ich habe im morgentlichen Tran wohl nicht so genau hingeschaut.
    Prinzipiell hast du 2 Möglichkeiten:

    $HTTP_COOKIE_VARS['TestCookie'] oder kurz $TestCookie. Allerdings kannst du auf das Cookie erst nach einem Reload zugreifen.

    Ausweg wäre hier, dass Du, wenn $TestCookie nicht existiert, die Variable $TestCookie generierst und das Cookie dann setzt. Somit ist sichergestellt, dass du immer auf die Variable TestCookie zugreifen kannst:
    PHP-Code:
    <?php
        
    if( ! isset($HTTP_COOKIE_VARS['TestCookie']) ){
            
    $TestCookie="der wert des Cookies";
            
    setCookie("TestCookie",$TestCookie);
        }
    ?>
    <html><head><title>Test</title></head><body>
    Der Inhalt von $CookieName ist <i><?=$CookieName?></i>
    </body></html>
    oliver


    Wenn Du dir nicht sicher bist, ob ein Cookie gesetzt wird, kannst du in deinem Browser auch einstellen, dass du gefragt werden willst, ob ein Cookie gespeichert werden darf. Dann hast du ein besseren Überblick, wann und ob eins gesetzt wird.

  11. #11
    LinuxNewbee
    Gast

    Question Version ?!?!?

    Ich kann machen was ich will !!! Es geht nicht !! ich habe den code wie folgt angepepasst:

    PHP-Code:
    <?php
        
    if( ! isset($HTTP_COOKIE_VARS['TestCookie']) ){
            
    $TestCookie="der wert des Cookies";
            
    setCookie("TestCookie",$TestCookie);
            echo 
    "cookie";
        }
    ?>
    <html>
    <head>
    <title>Test</title>
    </head>

    <body>
    Der Inhalt von $TestCookie ist <i><?echo $TestCookie;?></i>
    </body></html>
    Im Normalfall (wenn ich es richtig Verstehe) müsste das Skript beim aller ersten Aufruf "cookie" ausgeben und ab dem zweiten aufruf nicht mehr, da zu diesem Zeitpunkt der Cookie bereits existiert und das wiederrum vom PHP-Script erkannt wird ! richtig ???

    Bei mir ist es nur leider so, dass es das "cookie" jedesmal ausgibt !!! Folglich: Der Cookie wird nicht ordnungsgemäß geschrieben !
    Möglicher Fehler: Hab nur den PHP Interpreter auf dem System installiert, der bei SuSE 6.3 integriert war. kann es vielleicht an der alten Version liegt, dass die keine cookies unterstützt??

    Kevin

  12. #12
    Registrierter Benutzer Avatar von lolli
    Registriert seit
    20.09.2000
    Beiträge
    166
    der php-code ist richtig. ich habe ihn gerade nochmal probiert-. welchen browser nimmst du denn? vielleicht sind cookies deaktiviert?

    versuche mal setcookie("TestCookie",$TestCookie,time() );

  13. #13
    LinuxNewbee
    Gast

    hm ...

    Ich habe es gerade auf einem offiziellen webserver versucht ! www.kontent.de !1

    habe die dateien hochgeladen und ausprobiert !! das hat er gefragt ob ich cookies zulassen möchte !! hab ich natürlich bejat und das funztes auch !! aber warum auf meinem server nicht ??? liegt es vielleicht an der version ?`???

  14. #14
    Registrierter Benutzer Avatar von lolli
    Registriert seit
    20.09.2000
    Beiträge
    166
    PHP macht Cookies schn ziemlich lange. Daran dürfte es nicht liegen. Was hast du denn für einen Webserver laufen?

    oliver

  15. #15
    LinuxNewbee
    Gast

    Server

    Hab Apache auf linux laufen !!! aber dat läuft alles nicht so 100% !! es funzt zwar alles, ich kann alles machen aber hab trotzdem irgendwie das gefühl das dat nicht so installiert ist und konfiguriert ist, wie das eigentlich muss !!!

    wie kann ich denn die versionsnummer von php und apache rauskriegen ??

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •