Cookie-Problem ... !

The_real_Guru

Erfahrenes Mitglied
Folgendes Problem:

Bei uns (http://www.gamers-hardware.net) gibt es unter http://www.gamers-hardware.net/admin/ einen Admin-Bereich, in den man sich natürlich erst einloggen muss. Bei korrekten Logindaten wird ein Cookie abgespeichert, damit man sich den Login beim nächsten Mal ersparen kann.
Nun möchte ich aber auch http://www.gamers-hardware.net auf dieses Cookie zugreifen, doch dies macht er leider nicht ...

Fragen:
1. Wie bestimme ich den Namen des Cookies (derzeit heißt dieses einfach nur "admin") ?
2. Wie kann ich auch von der Hauptseite auf dieses Cookie zugreifen ?

Guru
 
hi,


weiß nich obs klappt aber probiers mal... :D setzt ne variable wo auch das cookie gesetzt wird!
PHP:
set_cookie(...);
$user_eingeloggt = true;

if ($user_eingeloggt)
{
  session_register("user_eingeloggt",$user_name);
}

dann machste auf deiner "hauptseite" ne abfrage:
PHP:
if ($user_eingeloggt)
{
  set_cookie(...);
}

das müsste eigentlich gehen! dadrunter kannste auch nochmal ne abfrage fürs cookie setztn, das du da gesetzt hast (wenn das nur so nicht klappt :))

ich hoff mal das hab ich so erklärt wie ichs wollte weil ich bin da immer nich so gut drin :rolleyes:


*winkewinke*
-slim0r-
 
wenn ich deinen vorschlag richtig verstehe, dann werden nun 2 Cookies erstellt ... eines für die Admin-Seite und eines für die Main-Page, oder ?

Wie kann ich denn den Namen des Cookies bestimmen ?

Guru
 
das ist jetzt irgendwie lustig :) du hast nen kompletten adminbereich und ne page gecodet mit login etc etc und weißt nich das der name des cookie der erste teil in den "" ist :D

PHP:
set_cookie ("name",$var,time()+zeit_angabe_in_sek); # grundgerüst eines cookies

# so könnte es aussehen beim setzen!
set_cookie("user_eingeloggt",$var_des_usernamen,time()+172800);
session_register("user_eingeloggt",$var_des_username);

das wars für den login! die abfrage ist dann auch recht einfach!
PHP:
if ($user_eingeloggt)
{
  set_cookie("user_eingeloggt");
  session_register("user_eingeloggt");
}

jetzt kannste ganz einfach mit
PHP:
if ($user_eingeloggt)
{
  ...
}

# oder
if (session_is_registered("user_eingeloggt") #and ($user_eingeloggt)#)
{
  ...
}

seiten "schützen" :D ich hoffe das hat geholfen... wenne noch fragen hast dann frag einfach ;-)


*winkewinke*
-slim0r-
 
die funktion heisst setcookie und nicht set_cookie. Ausserdem sind die 3 felder 'name', 'value', und 'lebensdauer' pflicht, also setcokie("eincookie") geht nicht.

@guru:

wie wird das cookie denn derzeit gesetzt ?
poste doch mal.

normalerweise kannst du vom gesammtem root auf das cookie zugreifen, dass kann man auch angeben. zugreifen kannst du einfach mit

$_COOKIE['cookiename'];

wenn du zB einfach $_COOKIE['cookiename']; ausgibst, erhältst du den inhalt.
 
hups so war das :) geht das echt nich mit dem cookie? das hab ich so bei meinem dingen da kriege ich keinen fehler!! und ich bin "immer" eingeloggt auch über die 172800 sekunden hinweg...
 
sorry, dass ich mich so lange nicht gemeldet hatte ...

Derzeit werden die Cookies so gesetzt:

setcookie("c_ghnet_email",ADMIN_EMAIL,time()+(3600*24*355));
setcookie("c_ghnet_pass",ADMIN_PASS,time()+(3600*24*355));

das Cookie, welches dadurch erzeugt wird, heißt komischerweise "fabian@admin[2]" und beinhaltet folgende Zeile:

Code:
c_ghnet_email
fabian%40gamers-hardware.net
www.gamers-hardware.net/admin/
1536
3408883200
29571425
485732448
29500012
*
c_ghnet_pass
c0a62d913062101c49a8147d1ca8ddaf
www.gamers-hardware.net/admin/
1536
3408883200
29571425
485892448
29500012
*

Guru
 
was ist ADMIN_EMAIL ? eine variable ? dann fehlt $.
oder ein string ? dann fehlen die anführungszeichen
 
hm, dann versuch mal alle parameter (auch optionale) an setcookie zu übergeben.

Angeblich muss man das nicht, aber bei mir hats ohne nie wirklich geklappt

(mir fällt grad auf das jeder 2. post von mir den text beinhaltet :p )
 
Zurück