Anzeige - [Hier werben / Mediadaten]
(?) Tags raten (?) cookie, php, setcookie (edit)
 
Reply to this topicStart new topicStart Poll
> php: setcookie() => cookie erst bei neuem aufruf.., ...verfügbar??
Josh
Geschrieben am: Di 11.01.2005, 13:06
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Moderatoren
Beiträge: 2143
Mitglied seit: 19.10.2003


hi alle.

wenn ich in PHP

setcookie("x","y",time()+3600);

aufrufe, ist dann das cookie erst beim nächsten seitenaufruf verfügbar? oder sollte es gleich schon nach aufruf des befehls von php per $_COOKIE verwendet werden können? irgendwie hab ich da nicht ganz den durchblick... wink.gif

danke
Josh


--------------------
Mein letztes Projekt: Atelier-Schmuck.ch

"Das habe ich nie getan und werden es auch nie wieder tun!" :lol:
Top
PMEmail PosterUsers WebsiteICQ
Top
 
 
Josh
#2 Geschrieben am: Di 11.01.2005, 13:15 (+00:08)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Moderatoren
Beiträge: 2143
Mitglied seit: 19.10.2003


ah, schon begriffen. die $_COOKIE globale variable wird ja zu beginn erstellt und enthält ein neues cookie noch nicht...

dann aber noch was anderes:
wie kann ich nach dem setcookie() überprüfen, ob das cookie tatsächlich gesetzt werden konnte? per isset($_COOKIE["x"]) geht das nun ja nicht bzw. erst nach dem neuladen der seite... :-/


--------------------
Mein letztes Projekt: Atelier-Schmuck.ch

"Das habe ich nie getan und werden es auch nie wieder tun!" :lol:
Top
PMEmail PosterUsers WebsiteICQ
Top
 
Jörg Kruse
#3 Geschrieben am: Di 11.01.2005, 13:29 (+00:14)
Report PostQuote Post

AyomRank 5
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 418
Mitglied seit: 19.12.2004


Wenn du eine Seite vorher schon einen Test-Cookie setzt?


--------------------
Top
PMEmail PosterUsers Website
Top
 
Alain_Aubert
#4 Geschrieben am: Di 11.01.2005, 15:38 (+02:09)
Report PostQuote Post

Ayom Slave
Group Icon

Gruppe: Admin
Beiträge: 4827
Mitglied seit: 25.09.2003


Wann empfängt man die Daten vom User? Beim aufruf der Seite? Ich bin mir echt nicht sicher, aber ich meinte das Cookie sendet einen header (d.h geht nicht, wenn vorher Ausgabe statt gefunden hat). Wenn dieser gesendet ist, machst Du was auch immer Du machen möchtest. D.h. Du kannst es ganz am Anfang setzen und dann nacher schon benutzen. Es sei denn, ich irre mich ;-)

Versuch es einfach....?
Top
PMEmail PosterUsers Website
Top
 
Patrick Z
#5 Geschrieben am: Di 11.01.2005, 17:26 (+01:48)
Report PostQuote Post

AyomRank 6
************

Gruppe: Member (aktiv)
Beiträge: 523
Mitglied seit: 14.04.2004


Wenn du ein Cookie auf Seite xy.php setzt, dann kannst du erst auf Seite abc.php prüfen, ob er gesetzt ist.
Top
PMEmail PosterICQ
Top
 
Alain_Aubert
#6 Geschrieben am: Di 11.01.2005, 18:02 (+00:35)
Report PostQuote Post

Ayom Slave
Group Icon

Gruppe: Admin
Beiträge: 4827
Mitglied seit: 25.09.2003


Ich hab mich sehr ungenau ausgedrückt.

Etwas Code zur Veranschaulichung:

CODE
if ( cookiewhatever ) {
setcookie("asdf");
header("Location: $PHP_SELF");
}

echo $_COOKIE['asdf'];

Top
PMEmail PosterUsers Website
Top
 
Mike
#7 Geschrieben am: Mi 12.01.2005, 08:00 (+13:58)
Report PostQuote Post

AyomRank 4
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 175
Mitglied seit: 22.12.2004


QUOTE (Stefan Bötschi @ Mi 12.1.2005, 7:35)
Also musst du den Rückgabewert der Funktion setcookie() auslesen. Die gibt true zurück, wenn das Cookie erfolgreich gesetzt wurde, oder false, wenn es einen Fehler gab, [ glaub ich wenigstens ;-) ]

Das klappt auch nicht.
Aus dem PHP-Manual:

QUOTE
Erfolgte bereits vor dem Aufruf dieser Funktion eine Ausgabe erfolgt sein, gibt setcookie() scheitern und FALSE zurückgeben. War setcookie() erfolgreich, wird TRUE zurückgegeben. Dies sagt jedoch nichts darüber aus, ob der Benutzer das Cookie auch akzeptiert hat.
Top
PM
Top
 
Josh
#8 Geschrieben am: Mi 12.01.2005, 09:12 (+01:11)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Moderatoren
Beiträge: 2143
Mitglied seit: 19.10.2003


danke euch allen für die ratschläge. ich habe das problem nun "gelöst", indem ich es umgangen habe... rolleyes.gif scheint tatsächlich keine wirkliche lösung dafür zu geben, und ein gebastel mit verschiedenen forwards etc. will ich nicht haben. wink.gif

grüsse
josh


--------------------
Mein letztes Projekt: Atelier-Schmuck.ch

"Das habe ich nie getan und werden es auch nie wieder tun!" :lol:
Top
PMEmail PosterUsers WebsiteICQ
Top
 
SloMo
#9 Geschrieben am: Mi 12.01.2005, 09:54 (+00:42)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 249
Mitglied seit: 15.11.2004


QUOTE (Josh @ Mi 12.1.2005, 9:12)
danke euch allen für die ratschläge. ich habe das problem nun "gelöst", indem ich es umgangen habe... rolleyes.gif scheint tatsächlich keine wirkliche lösung dafür zu geben, und ein gebastel mit verschiedenen forwards etc. will ich nicht haben. wink.gif

Verständlich und vernünftig.

Und wie hast du es jetzt umgangen?


--------------------
Top
PM
Top
 
Josh
#10 Geschrieben am: Mi 12.01.2005, 10:01 (+00:06)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Moderatoren
Beiträge: 2143
Mitglied seit: 19.10.2003


es ging um die speicherung von sessions... ich wollte, dass die session in einem cookie gespeichert wird, wenn der user cookies akzeptiert. und falls nicht, sollte die session halt per $_GET übergeben werden... da ich aber wuuuuhuuuhuuunderschöne mod_rewrite links habe, wollte ich diese möglichst nicht mit get params verschandeln... naja, nun ist es halt doch so... tongue.gif


--------------------
Mein letztes Projekt: Atelier-Schmuck.ch

"Das habe ich nie getan und werden es auch nie wieder tun!" :lol:
Top
PMEmail PosterUsers WebsiteICQ
Top
 
Alain_Aubert
#11 Geschrieben am: Mi 12.01.2005, 19:44 (+09:43)
Report PostQuote Post

Ayom Slave
Group Icon

Gruppe: Admin
Beiträge: 4827
Mitglied seit: 25.09.2003


Ich verstehe nicht, was an meiner Lösung nicht funktioniert....? Du lädst die Seite neu indem Du nach dem Cookie Header noch einen 2ten Header nachschickst, wovon der User nichts merkt.
Top
PMEmail PosterUsers Website
Top
 
Josh
#12 Geschrieben am: Do 13.01.2005, 09:28 (+13:43)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Moderatoren
Beiträge: 2143
Mitglied seit: 19.10.2003


@alain, deine version funktioniert schon, hab ich auch nie in zweifel gezogen. doch ich finde es eine holprige lösung, und da versuche ich es lieber auf einem anderen weg... auch wurde mir klar, dass es nonsense ist, 2 verschiedene variante des speicherns einer session ID anzubieten... es braucht nur eine, und ich habe mich für die affensichere version entschieden. smile.gif


--------------------
Mein letztes Projekt: Atelier-Schmuck.ch

"Das habe ich nie getan und werden es auch nie wieder tun!" :lol:
Top
PMEmail PosterUsers WebsiteICQ
Top
 
SloMo
#13 Geschrieben am: Do 13.01.2005, 10:35 (+01:07)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 249
Mitglied seit: 15.11.2004


QUOTE (Alain Aubert @ Di 11.1.2005, 18:02)
Etwas Code zur Veranschaulichung:

CODE
if ( cookiewhatever ) {
setcookie("asdf");
header("Location: $PHP_SELF");
}

echo $_COOKIE['asdf'];

Der Location-Header ist falsch. Es muss eine absolute URI angegeben werden. $PHP_SELF enthält nur den lokalen Pfad.

Zwar funktioniert das auch, aber es ist gemäß der Standards allenfalls auf einen Bug (oder eine Toleranz) in den Browsern zurückzuführen. Man sollte es vermeiden, damit wirklich alle Clients damit zurecht kommen.

Die Lösung des Problems ansich kann ich nur befürworten, sehr elegant wink.gif

Gruß, SloMo


--------------------
Top
PM
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/5520

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
fun: backstage aufnahmen aus neuem Beyoce Video Bizy 66 0 Mi 19.11.2008, 14:17
Analytics: Vortages-Zahlen erst am Mittag aktuell? Sandro Feuillet 226 2 Mo 14.07.2008, 19:52
mozilla 3.0 stürzt beim aufruf meiner website ab carmendelmar 536 12 Sa 12.07.2008, 14:14
Couchjobber mit neuem Design Bertrammarcel 385 18 Sa 14.06.2008, 12:12
Probleme mit neuem Google Analytics-Code bestätigt Peter Schneider 1078 12 Mo 2.06.2008, 07:58
Meldung im Tray bei neuem Forumseintrag Sancheck 92 0 So 20.04.2008, 11:48
Firefox: _blanks in neuem Fenster öffnen Sandro Feuillet 1084 8 Do 6.03.2008, 21:38
Keine Cookie-Laufzeiten bei zanox mehr? Andreas S. 343 3 Mi 27.02.2008, 19:44
Cookie Problem Coach 288 11 Sa 5.01.2008, 09:53




Anzeige - [Hier werben / Mediadaten]



Anzeigen


[Hier werben / Mediadaten]