Cookie nur einmal setzen?
saschaas
- php
0 Gunnar Bittersmann
0 saschaas
0 Tom0 Tom0 Malcolm Beck´s2 dedlfix
Hallo,
ich habe folgendes Problem.
<?php setcookie('kmcz',$zufall = rand(1,100000), time()+60*60*24*30); ?>
<?php
$cookie = $_COOKIE["kmcz"];
echo "wert: $cookie";
?>
Der Cookie soll aber nur ein einziges mal gesetzt werden.
So dass der User immer die selbe Zahl angezeigt bekommt.
evtl. noch eine Möglichkeit das sich die Zufallszahl nicht Wiederholt?
Danke im voraus! ;-)
@@saschaas:
nuqneH
ich habe folgendes Problem.
Qapla'
@@saschaas:
nuqneH
ich habe folgendes Problem.
Qapla'
JA, das ich das nicht hin bekomme. :-)
@@saschaas:
nuqneH
JA, das ich das nicht hin bekomme. :-)
Meine Frage war ernst gemeint. Was willst du mit dem Cookie eigentlich bezwecken?
Qapla'
PS: Zitiere bitte sinnvoll, nicht alles.
Hello,
JA, das ich das nicht hin bekomme. :-)
Meine Frage war ernst gemeint. Was willst du mit dem Cookie eigentlich bezwecken?
... vermutlich PHP üben?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hello,
ich habe folgendes Problem.
<?php
setcookie('kmcz',$zufall = rand(1,100000), time()+606024*30); ?>
<?php
var_dump($_COOKIE["kmcz"]);
echo "Cookie: ", htmlspecialchars($_COOKIE['kmcz']);
?>
Der (das?) Cookie muss erst mit der response zum Browser geschickt werden, damit dieser es beim nächsten Request dann wieder mit zum Server senden kann.
> Der Cookie soll aber nur ein einziges mal gesetzt werden.
Das ist einfach möglich, wenn Du damit meinst, dass der Client ein Cookie mit demselben Namen nicht noch einmal bekommen soll, wenn er schon eins (einen?) hat.
if (!isset($\_COOKIE['kmcz']))
{
$zufall = rand(1,100000), time()+60\*60\*24\*30);
setcookie('kmcz',$zufall); ?>
}
Und wenn du im Script keine Ordnung gehalten hast, dann kannst Du sogar noch abfragen, ob Du schon ein Cookie \_zum\_\_Senden\_ gesetzt hast.
<http://de3.php.net/manual/en/function.get-headers.php>
und für Dich hier zutreffend:
<http://de3.php.net/manual/en/function.apache-response-headers.php>
<?php ### get\_additional\_headers.php ###
setcookie('paul','34567');
echo "<pre>\r\n";
echo htmlspecialchars(print\_r(apache\_response\_headers(),1));
echo "</pre>\r\n";
?>
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg

--
☻\_
/▌
/ \ Nur selber lernen macht schlau
<http://bergpost.annerschbarrich.de>
Hello,
kleine Korrektur:
Und wenn du im Script keine Ordnung gehalten hast, dann kannst Du sogar noch abfragen, ob Du schon ein Cookie _zum__Senden_ gesetzt hast.
http://de3.php.net/manual/en/function.get-headers.php
und für Dich hier zutreffend:
http://de3.php.net/manual/en/function.apache-response-headers.php
nimm besser http://de3.php.net/manual/en/function.headers-list.php
<?php ### get_headers_to_send.php ###
setcookie('adam','Mann');
setcookie('eve','Frau');
setcookie('snake','böse');
echo "<pre>\r\n";
echo htmlspecialchars(print_r(get_headers($url),1));
echo htmlspecialchars(print_r(apache_response_headers(),1));
echo htmlspecialchars(print_r(headers_list(),1));
echo "</pre>\r\n";
?>
Warum, siehst Du, wenn Du das kleine Testscript mal ausführst.
Es bleibt Dir dann aber nicht erspart, die Werte des Arrays zu parsen.
Halt besser Ordnung im Script :-)
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
مرحبا
die folgende Abfrage ist erst beim nächsten Request des Clients sinnvoll
var_dump($_COOKIE["kmcz"]);
# ...
echo htmlspecialchars(print_r(apache_response_headers(),1));
Nur aus Neugier, wie entscheidest du bei Kontrollausgaben, ob du var_dump()
oder print_r()
benutzt? Dir sind ja beide bekannt, warum benutzt du mal das eine, mal das andere?
mfg
Tach!
Nur aus Neugier, wie entscheidest du bei Kontrollausgaben, ob du
var_dump()
oderprint_r()
benutzt? Dir sind ja beide bekannt, warum benutzt du mal das eine, mal das andere?
var_dump() ist genauer, weil es den Typ mit ausgibt. print_r() ist sowieso nur für Arrays und Objekte gedacht und etwas übersichtlicher, wenn man die Typ-Information nicht benötigt.
dedlfix.
مرحبا
var_dump() ist genauer, weil es den Typ mit ausgibt. print_r() ist sowieso nur für Arrays und Objekte gedacht und etwas übersichtlicher, wenn man die Typ-Information nicht benötigt.
Stimmt, an Typ hatte ich nicht gedacht, da bis jetzt nicht benötigt. Ich hoffe das ändert sich bald :)
mfg
Tach!
Stimmt, an Typ hatte ich nicht gedacht, da bis jetzt nicht benötigt. Ich hoffe das ändert sich bald :)
Wenn du den Typ nicht siehst, kannst du NULL, false und Leerstring nicht voneinander unterscheiden. Alle drei ergeben beim echo keine Ausgabe. var_dump() erzeugt immer eine Ausgabe.
dedlfix.
مرحبا
Wenn du den Typ nicht siehst, kannst du NULL, false und Leerstring nicht voneinander unterscheiden. Alle drei ergeben beim echo keine Ausgabe. var_dump() erzeugt immer eine Ausgabe.
Vermutlich habe ich es in diesem zusammenhang sogar schon benutzt und kann mich jetzt nicht daran erinnern. Aber die Info ist auf jedenfall Hilfreich, Danke dafür.
mfg