cookie - prob...aber wo...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • cookie - prob...aber wo...

    Hallo,
    ich bin dabei eine Umfrage mit Flash und PHP zu schreiben. Damit der User nur einmal wählen kann möchte ich ein Cookie setzen lassen. (ja, ich weiß das man das cookie einfach löschen könnte ;-)

    in meinem Quellcode sieht es wie folgt aus...

    if (!$http_cookie_vars["umfrageabi"]) {
    ....
    ....
    setcookie ("umfrageabi","$auswahl", time()+3600);
    ....}

    else { echo"&schongewahlt=1&"; };

    irgendwie wird mein Cookie nicht gesetzt...woran könnte das liegen. Ist die Abfrage ob das Cookie existiert richtig? Hab diese Variante und die Variante ohne "" probiert...hat Beides leider nicht funktioniert. Ja,ja, immer diese Anfänger, was? ;-)
    Vielen Dank für eure Hilfe
    Schönen Tag
    Alex


    // neu

    ich habe folgendes gefunden...

    if (!umfrageabi) {...};

    das funktioniert nur verstehe ich nicht warum...das wurde in dem Text leider nicht erklärt :-(
    Zuletzt geändert von Alex0903; 09.05.2002, 16:05.

  • #2
    Hi,

    die Antwort findest du unter
    http://www.zend.com/manual/features.cookies.php

    $http_cookie_vars steht nicht der name des cookies sonder der inhalt.

    if not "inhalt des cookies" funktioniert nicht weil er keinen vergleich hat.

    Das zweite beispiel (//neu) fragt tatsächlich ob das cookie existiert. Das liegt daran, dass cookies einfach als variablen in php vorhanden sind ohne dollarzeichen.

    Kommentar


    • #3
      Ich hab faustus zwar nicht ganz verstanden, sehe aber ein anderes Problem: Dein Script wird nicht vom Browser, sondern vom Flash-Plugin aufgerufen. Und das Flash Cookies an den Browser durchreicht bzw. überhaupt Cookies im HTTP-Header berücksichtigt, ist unwahrscheinlich.

      Das Workaround ist sehr Problemanfällig: Du müsstest von Flash aus eine Javascript-Funktion in der HTML-Seite aufrufen, die das Cookie setzt.

      Einfacher ist es wahrscheinlich, wenn Du statt Cookies die IP-Adresse des Benutzers zur Prüfung benutzt. Dazu könntest Du das IP-Sperren-Tutorial von JoelH umbauen.

      Kommentar


      • #4
        Hi,

        nun, was ich meine ist

        if (!$http_cookie_vars["umfrageabi"]) {

        frag nicht ob der cookie existiert sondern fragt nach dem inhalt des cookies und das macht so keinen sinn.

        In php kann man diesen aufruf machen durch

        if (!umfrageabi) {

        das fragt ob der cookie existiert weil cookies in php als variablen ohne das übliche $-zeichen einfach ansprechbar sind ...

        Hoffentlich ist es jetzt klarer ...

        Kommentar


        • #5
          Vorgesicht!

          Original geschrieben von pekka
          Das Workaround ist sehr Problemanfällig: Du müsstest von Flash aus eine Javascript-Funktion in der HTML-Seite aufrufen, die das Cookie setzt.
          JavaScript-Cookies werden von PHP nicht erkannt, genau so wenig wie umgekehrt.
          mein Sport: mein Frühstück: meine Arbeit:

          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

          Kommentar

          Lädt...
          X