Cookie Name immer PHPSESSID

Dooboy

n/v
ID: 185998
L
25 April 2006
996
72
Ich habe ein Problem mit Cookies.

Und zwar kann ich machen was ich will, als Cookiename wird immer "PHPSESSID", genommen

Lokal und auf den Webservern

setcookie($cookie_name, $se_id, time()+$cookie_time);


Ich hoffe das mir hier geholfen werden kann
 
wird mir aber ausgegeben, wenn ich print_r($_COOKIE); mache

Sobald du eine Session startest (session_start()), wird ein Cookie PHPSESSID erzeugt, der enthält einen Hash/eine ID, um dem User eine Session zuzuordnen.
Also wenn nur die Session da ist, funktioniert dein setCookie() nicht.
Sind schon die Header Daten gesendet worden, bevor du setCookie() benutzt?
 
Hi,

dann weiß ich ja schon wo die id herkommt.

Nein, es wurde noch nichts gemacht, ausser halt eine Session gestartet.

Es war eine undefinierte Globale Variable.
Nur wird der Cookie nun erst beim zweiten Loginversuch gesetzt.
Das geht doch auch anders
 
Falls ich Dich richtig verstanden habe suchst du
PHP:
session_name("DUBISTDEUTSCHLAND")

Ne, da hast mich falsch verstanden.

Ich wollte wissen warum bei mir wenn ich ein Cookie anlegem es aber immer mit den falschen Namen aufaucht.

Nun geht es, aber auch erst wenn ich das zweite mal einen Login versuch starte.

Es muss aber auch möglich sein, das es beim ersten mal gleich klappt und bin ich gerade nur gedanklich blind?
 
Naja beim ersten Aufruf wird es ja erstmal gesetzt, ist also erst verfügbar nachdem der User die Seite komplett aufgerufen hat. Sprich das Anlegen sollte beim ersten mal schon klappen, nur wenn der Aufruf erfolgt nachdem die Gültigkeit abgelaufen ist, ists erstmal nicht da (wie gewollt).
Hab ich Dich jetzt? :D
 
Du erzeugst eine Session, die einen temporären Cookie implementiert.

Bevor du nun einen "echten" Cookie setzen kannst, musst du die Session zerstören, dass erreichst du

a) indem du die Session beim 2ten Versuch erst gar nicht setzt (also kein session_start()) und dann setcookie durchführst oder

b) indem du die Session explizit aufhebst (unset($_SESSION["name"]), nicht unset($_SESSION) benutzen. Bei "name" trägst du deinen Namen ein, den du bei session_register("name") benutzt. Dannach kanst du setcookie verwenden.