php und Cookies

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von maceis, 28.04.2004.

  1. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    hallo zusammen,

    Seit kurzem möchte ich bei bestimmten Webseiten Cookies einsetzen und habe nun eine kleines Problem.

    Ich kann ein Cookie setzten und es wird beim nächsten Aufruf der selben Seite auch richtig erkannt und verarbeitet.

    Allerdings ist es mir bisher nicht gelungen ein Cookie , das ich aus seite1 setzte auf seite2 auszulesen.

    meine Abfrage in php sieht so aus:
    PHP:
           <?      
            if (isset($_COOKIE["name_of_cookie"]) && $_COOKIE["name_of_cookie"]=="yes")
            {       
                mach was;
            }       
            else    
            {       
                mach was anderes;
            }       
            ?>      
    Ich nehme an, das nur die Syntax ein wenig anders sein muss, wenn das cookie von einer anderen Seite kommt, als die in der ich es abrage.
    Habe aber leider mit googel jetzt nichts gefunden, was mir weiterhilft und wäre darum dankbar für einen Tip!
     
  2. 1th_MACac

    1th_MACac MacUser Mitglied

    Beiträge:
    187
    Zustimmungen:
    8
    MacUser seit:
    29.02.2004
    Hallo,

    Edit:

    nimm mal anstatt:

    (isset($_COOKIE["name_of_cookie"])_&&_$_COOKIE["name_of_cookie"]=="yes"

    das:
    (isset($HTTP_COOKIE_VARS["name_of_cookie"])_&&_$HTTP_COOKIE_VARS["name_of_cookie"]=="yes"

    G
    1th_MACac
     
  3. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    hallo 1th_MACac,

    das funktioniert ja auch, solange das Cookie auf der selben Seite gesetzt wurde, auf der ich es auch wieder auslese.

    wenn ich aber auf der seite "index.htm" ein Cookie setzte:
    PHP:
    <? setcookie("noc""yes"time()+86400*30)?>
    und auf der Seite "link.htm" das Cookie auslesen möchte:
    PHP:
    _        if (isset($_COOKIE["noc"]) && $_COOKIE["noc"]=="yes")
           ....
            
    ?>      
     
    Dann geht es eben nicht.

    Ich frag mich schon, ob das übehaupt geht, oder ob ich irgendwie die Seite mit angeben muss, woher das cookie kommt, wenn ich von einer anderen Seite aus zugreifen möchte.

    Muss wohl so sein, denn in der Cookie-Liste (zB von Safari) wird ja die webseite mit eingetragen.
    Außerdem kann es ja zB zwei cookies "counter", "last_visit" o. ä. von zwei verschiedenen Webseiten geben.
     
  4. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    hallo,

    Danke für den Tip, aber das ändert leider auch nicht;

    ich hab mal gegoogelt:
    HTTP_COOKIE_VARS ist veraltet; jetzt benutzt man die sog. Superglobalen: $COOKIE["noc"]; "$noc" geht ohnehin nur mit "register_globals=On".
     
  5. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    hallo nochmal.

    folgende Info habe ich noch gefunden:
    Wenn ein Cookie diese Einträge bekommt oder bekommen kann, dann muß man Sie auch asuwerten können.

    Die Fragen sind nun: Wie setzte ich die Verfügbarkeit übder die gesamte Domain ?
    Wie greife ich auf ein Cookie zu mit den Eigenschaften "name" und "domainname"?
     
  6. 1th_MACac

    1th_MACac MacUser Mitglied

    Beiträge:
    187
    Zustimmungen:
    8
    MacUser seit:
    29.02.2004
    wer lesen kann ist klar im Vorteil... trifft da in meinem fall mal wieder zu!!!

    werde mich morgen nochmal mit deinem Problem befassen..

    bis dann

    G
    1th_MACac
     
  7. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    so, jetzt hab ichs glaub ich:
    hier die genaue Syntax von setcookie():
    PHP:
    int setcookie (string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])
    Was das vorangestellte int bedeuten soll, weiss ich noch nicht.

    Falls es jemanden interessiert, die Einzelheiten zum Einsatz stehen hier:
    so funktioniert setcookie()

    werd ich jetzt mal Testen, aber ich denke so gehts.

    ---------------------------------
    Habs getestet; funktioniert einwandfrei :)
     
    Zuletzt bearbeitet: 28.04.2004
  8. 1th_MACac

    1th_MACac MacUser Mitglied

    Beiträge:
    187
    Zustimmungen:
    8
    MacUser seit:
    29.02.2004
    Servus,

    da brauch nich mich ja schon nimmer damit beschäftigen und hab gleich noch was neues dazugelernt :)

    G
    1th_MACac
     
Die Seite wird geladen...