Cookie über Function setzen?

Sasser

Erfahrenes Mitglied
Hallo alle zusammen!

Sagt mal ist es möglich ein Coockie über eine Funktion zu setzen? Also dass das setcoockie in der Funktion enthalten ist?

Wenn das nicht geht, wird es ja auch nicht möglich sein, über eine Funktion zu prüfen ob ein Coockie gesetzt ist oder?

Wenn ich mich irre, bitte ich um einen kleinen Ansatz! Also bisher habe ich es nicht geschafft! :confused:
 
Hmm also ist es nicht möglich?

Was ist eigentlich besser? Session oder Coockie? Die Sache ist, dass ich ein Browsergame baue und nicht weiss was ich wähle? Vorschlag? :confused:
 
Natürlich ist es möglich. Allerdings ist das nicht sehr sinnvoll. Dass es geht kannst du zum Beispiel sehen wenn du dir die Funktion set-cookie() im php_manual mal genauer angeschaut hättest. Ein Beispiel dazu wurde auch in den Kommentaren gepostet.
MfG, Andy
 
Alles klar!

Warum setzt er mir dann per:

PHP:
$user = "Ich";
$time = time();
$validity = $time+1200;
setcookie("TEST", $user, $validity);

kein Coockie?
 
Nochmal anders gefragt, mache ich irgendwas falsch an der folgenden Funktion?

PHP:
function setcoockie($user)
{
$time = time();
$validity = $time+1200;
setcookie("TEST", $user, $validity);
}

Ich rufe die Funktion über
PHP:
setcoockie($user);
auf!

Bitte um kurzes Feedback :) auch wenn nichts falsch dran ist!

Und so teste ich, ob das Coockie gesetzt ist:

PHP:
if (isset($_COOKIE["TEST"]))
 
An der Funktion ist nichts falsch.

Möglicherweise wurden bereits die Header gesendet.
Mache mal dein error_reporting() scharf, dann solltest du eine diesbetreffende Meldung erhalten.
 
Also das Coockie wird 100%ig gesetzt! Hab in meinem Browser nachgeschaut!

Sogar der $user wird im Coockie gespeichert! Es kann also nur etwas an der Prüfung falsch sein...

Ist meine Methode eigentlich sicher?

Weil ich prüfe ja per
PHP:
if (session() == true)

Funktion:

PHP:
function session()
{
if ((isset($_COOKIE["TEST"])) && ($user != ""))
{
$db = connect_db();
$usernum=mysql_num_rows(mysql_query("SELECT user FROM user WHERE user = '$user'", $db));
mysql_close($db);
if ($usersum == "1")
{
$session = true;
$time = time();
$validity = $time+1200;
setcookie("TEST", $user, $validity);
$db = connect_db();
mysql_query("UPDATE user SET online = '$validity' WHERE user = '$user'", $db);
mysql_close($db);
}
else
{
$session = false;
}
}
else
{
$session = false;
}
return $session;
}

ob der User die Seite sehen darf und wenn nicht mache ich einfach eine Umleitung zur Loginseite!

PHP:
header("Location: http://" . $_SERVER["HTTP_HOST"] . "/");
 
Zurück