Lemmy Danger: Probleme mit Cookies und dem IIS

Hallo Forum,

da mein letztes Posting soeben wieder verschwunden ist, hier nochmal die Kurzfassung:

Ich möchte ein Cookie setzen mit
<?php
setcookie("dummy", ++$dummy, time()+(3600*24));
...

Dies stellt die erste Zeile meiner Seite dar. Mit dem Apachen bei mir daheim läuft's auch wunderbar, das Cookie wird ohne meckern gesetzt. Nun probiere ich es gerade auf einem anderen Rechner mit IIS als Server - und der sagt mir, dass die Variable $dummy undefiniert sei und der Header schon verschickt ist, ergo das Cookie nicht gesetzt werden kann. Woran hängt's?
Ich tippe mal auf eine Konfigurationssache des IIS, denn wie gesagt, auf meinem Apachen läuft's. Tippfehler schließe ich mal aus, denn der Code ist eine 1:1-Kopie meiner lauffähigen Version, und am Code selbst dürfte es auch nicht liegen, solange das Buch, aus dem ich ihn habe, nicht irgendwie fehlergespickt ist.

Hat irgendjemand eine Idee, was da schief läuft und wie man's behebt?

Danke schon mal, werd jetzt das Posting speichern (man weiss ja nie *gr*) ;)

Gruss
Lemmy
http://www.olison.com

  1. Hi,

    Nun probiere ich es gerade auf einem anderen Rechner mit IIS als Server - und der sagt mir, dass die Variable $dummy undefiniert sei

    wann und wie hast Du die Variable denn deklariert?

    und der Header schon verschickt ist,

    Vermutlich aufgrund der Fehlermeldung, dass Du $dummy nicht deklariert oder initialisiert hast.

    Cheatah

    1. Hi,

      Hallo auch, doch endlich mal ne Antwort :)

      wann und wie hast Du die Variable denn deklariert?

      Da tu ich jetzt mal ganz unschuldig: Gar nicht. Ich hab das Beispiel aus einem PHP-Buch fast 1:1 abgeschrieben, und der Apache frisst es auch. Nur der IIS wie gesagt nicht. Wird nicht der Inhalt des Cookies "dummy" automatisch zur Variablen $dummy?

      und der Header schon verschickt ist,

      Vermutlich aufgrund der Fehlermeldung, dass Du $dummy nicht deklariert oder initialisiert hast.

      Wie gesagt: Apache okay, IIS nicht :(

      Gruss
      Lemmy
      http://www.olison.com

      1. Hi,

        wann und wie hast Du die Variable denn deklariert?

        Da tu ich jetzt mal ganz unschuldig: Gar nicht.

        das ist der Fehler.

        Ich hab das Beispiel aus einem PHP-Buch fast 1:1 abgeschrieben,

        Hast Du den Code _verstanden_? Erst dann ergibt das Buch einen Sinn. Hier geht es offenbar davon aus, dass entweder die Standardeinstellungen älterer PHP-Versionen gelten, oder aber das System misskonfiguriert wurde.

        Wird nicht der Inhalt des Cookies "dummy" automatisch zur Variablen $dummy?

        Nur in einem der beiden oben genannten Fälle, die übrigens auf den letztgenannten reduziert werden können. Das automatische Generieren von Variablen dynamischen, nicht fest spezifizierten, nicht differenzierbaren Namens im globalen Scopes stellt ein Sicherheitsrisiko dar, deswegen ist diese Methodik in neueren PHP-Versionen auch standardmäßig deaktiviert. In der Dokumentation unter http://www.php.net/ findest Du unter Variablen => vordefinierte Variablen, wie Du an Cookies herankommst.

        Cheatah