Andy: Cookie Gedaddel Generve geVerstehichnich ...

Moin,
Vorab: Ich mag kein Cookiegedaddel, hab Sie auch noch nie verwendet,
und versuch mich gerade dran ...

Sie können imho schon nützlich sein für:
Hallo ... Du hast Dich gerade eingeloggt ... möchtest Du zur Seite X zurückkehren,
ohne vorab jedesmal was in die Datenbank zu schreiben.

Aber warum läuft's nicht?
Warum lief es vor 2 Stunden und jetzt nicht mehr ? ...

if ($daddeldü) {
$cook = "abc";
setcookie("meins",$cook);
}

$cook ist verifiziert und vorhanden, aber
echo $_COOKIE["meins"];
liefert mir nichts *grrrrr*.

Und warum ging es vor 2 Stunden und jetzt nicht mehr *grübel*
Habs über 2 PCs versucht. Kommt nichts !

Und ich finde nicht mal einen meiner klassischen
;$ vergessen oder " mit ' verwechselt-Fehler.

Manno, wat soll'n das ...
*grummel* Danke, Andy

  1. Hello,

    welche Fehlermeldungen kommen denn?

    Hast Du

    error_reporting(E_ALL);
      ini_set('display_errors','1');
      ini_set('track_errors','1');

    am Anfang des Scriptes (oder ggf. auch in der Server-Konfiguration z.B. mittels .htaccess) gesetzt?

    Und was funktioniert nicht?
    Wird der Cookie nicht wieder an den Server zurückgesandt, oder kommt er gar nicht erst am Client an?
    Hast Du Deinen Browser auf "redselig" eingestellt? D.h., dass alle Aktionen erst nach Rückfrage ausgeführt werden, auch die Annahme von Cookies.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. Hi Tom,
      Danke !

      Ich hatte eine require("x.inc.php") der Übersicht halber
      vor setcookie() geschoben,
      und das hat das Cookiesetzen irgendwie zerschossen.

      Keine Ahnung warum;
      in der inc.php wird zunächst nichts ausgeführt,
      sondern nur functionen bereitgestellt.

      Aber so ist das, wenn man an fremden scripten rummacht o)

      Besten Dank und Beste Grüsse, Andy

      1. Ich hatte eine require("x.inc.php") der Übersicht halber
        vor setcookie() geschoben,
        und das hat das Cookiesetzen irgendwie zerschossen.

        Die x.inc.php erzeugt eine Ausgabe. Entweder außerhalb des PHP-Bereiches (dazu zählen auch Leerzeichen und Zeilenumbrüche vor dem <?php oder nach dem ?> ) oder innerhalb, z.B. mit echo oder print.

        setcookie muss wie alle HTTP-Header-modifizierenden Funktionen vor jeglichen Ausgaben aufgerufen werden. Zur Not kann man auch die Ausgaben mit Hilfe der ausgabesteuernden Funktionen abfangen.

        1. Hello,

          setcookie muss wie alle HTTP-Header-modifizierenden Funktionen vor jeglichen Ausgaben aufgerufen werden. Zur Not kann man auch die Ausgaben mit Hilfe der ausgabesteuernden Funktionen abfangen.

          Das ist so nicht _ganz_ richtig oder vollständig beschrieben.

          Alle HTTP-Header müssen gesetzt sein, bevor die Response an den Client gesendet wird, denn die Header müssen dort vor dem ersten auszugebenden Zeichen vorliegen. Insofern bedeutet "Ausgabe" das Absenden der ersten Response-Bytes.

          Allerdings kann man "Ausgaben" mittels echo auch schon vor dem Setzen von Headern mittels header() oder session_start() oder setcookie() machen, wenn man die _Absendung_ dieser Ausgaben zurückhält. Das kann mit ob_start() http://de3.php.net/manual/de/function.ob-start.php erreichen.

          Dann würde erst alles gemeinsam am Scriptende oder bei einer anderen Output-Buffer-Funktion gesendet werden.

          Harzliche Grüße aus http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau