Michael: If - Funktion Erfolgreich?!?

Hallo,
Ich will ne funktion machen die irgendwie so aussehen soll:

if( * )
{
echo "erfolgreich";
}
else
{
echo "fehlgeschlagen";
}

* Hier soll das da hin: setcookie("cookie", "Wie gehts?");
Die if funktion soll darauf reagieren ob das cookie gespeichert worden sit.

Wie mach ich das am besten?

Also praktisch: If-Cookie gespeichert -> Erfolgreich
           If-Cookie nich gespeichert -> Fehlgeschlagen

  1. Hi,

    * Hier soll das da hin: setcookie("cookie", "Wie gehts?");
    Die if funktion soll darauf reagieren ob das cookie gespeichert worden sit.

    Das kann sie gar nicht - weil das PHP-Script zur Laufzeit gar nicht wissen kann, ob der Client den Keks haben moechte oder nicht.

    (Wie der Rueckgabewert von setcookie aussieht, verraet dir das Handbuch - und die Tatsache, dass du obigen Schluss daraus natuerlich nicht ziehen kannst, haette es dir ebenfalls schon sagen koennen.)

    Wie mach ich das am besten?

    Beim naechsten Request durch den Client (der vom aktuellen natuerlich absolut unabhaengig ist), kannst du dir anschauen, ob er dir einen Cookie mitgesendet hat oder nicht.

    MfG ChrisB

    --
    "The Internet: Technological marvel of marvels - but if you don't know *what* you're lookin' for on the Internet, it is nothing but a time-sucking vortex from hell."
  2. Hi,

    if( * )
    {
    echo "erfolgreich";
    }
    else
    {
    echo "fehlgeschlagen";
    }

    * Hier soll das da hin: setcookie("cookie", "Wie gehts?");
    Die if funktion soll darauf reagieren ob das cookie gespeichert worden sit.

    das ist prinzipbedingt nicht möglich. Mit setcookie() erreichst du ja nur, dass ein entsprechender HTTP-Header generiert wird. Dieser wird erst beim Client interpretiert, *lange nachdem* das PHP-Script zu Ende gelaufen ist. Erst wenn derselbe Client *noch einmal* eine Ressource von deinem Server anfordert, weißt du, ob er das vorher angebotene Cookie angenommen hat.

    Also praktisch: If-Cookie gespeichert -> Erfolgreich
               If-Cookie nich gespeichert -> Fehlgeschlagen

    Hier liegt ein grundlegender Denkfehler. Im Request x kannst du ein Cookie setzen, aber erst im Request x+1 kannst du überprüfen, ob's auch angenommen wurde.

    So long,
     Martin

    --
    Ja, ja ... E.T. wusste schon, warum er wieder nach Hause wollte.
  3. Hallo,

    if( * )
    {
    echo "erfolgreich";
    }
    else
    {
    echo "fehlgeschlagen";
    }

    wenn ich Dich richtig verstanden habe, ist Dein '*' (Ausdruck), nach dem Du suchst: ![link:http://de3.php.net/manual/de/function.empty.php@title=empty]([link:http://de3.php.net/manual/de/reserved.variables.cookies.php@title=$_COOKIE])

    Gruß aus Berlin!
    eddi

    --
    Der Verweis auf die Grundlagen Deines Handelns, ist das Joch zur Freiheit.
    Aber so gilt: Allen Leuten Recht getan, ist keine Kunst, weil's jeder kann.