Autor | Zpráva | ||
---|---|---|---|
Jata Profil |
#1 · Zasláno: 7. 4. 2006, 21:00:08
Mám takovej problém, mam normálně udělaný přihlašovací formulář přes session a funguje perfektně, ale chtěl jsem lidem ušetřit práci a tak jsem se rozhodl, že udělam automatické přihlašování, vim jak to chci udělat, do přihlašovacího formuláře jsem dal zaškrtávací políčko s názvem autologin a po přihlášení se normálně nastaví session a uloží cookies pro další návštěvu až sem mi to funguje, když zavřu prohlížeč a znovu otevřu stránku, tak se chová jako kdyby ty cookies nikdy nebyly uložené. Jinak tam mam taky i to, že když jsou cookies už nastavené tak se automaticky přihlásí, ale prostě mi to nefunguje, už jsem v koncích. Díky
|
||
pmasarik Profil |
#2 · Zasláno: 7. 4. 2006, 21:46:04
Máš to určite robené cez sessions a tie sa zmažú zo servera po určitom čase, alebo po zavretí prehliadača.
V cookies je uložené len SID danej session a to môžeš ovplivniť na ako dlho. Horšie je to ale s ovplivnením uloženia sesion na servery, ale toto mi ako tak funguje. $expiretime = 60*60*6; // 6 hodin // 60*60*24*100 = 100 dní ########################################## session_cache_limiter('private'); $cache_limiter = session_cache_limiter(); ######################################### session_cache_expire($expiretime); $cache_expire = session_cache_expire(); ######################################### session_set_cookie_params($expiretime);// týmto nastavíš čas uloženia cookies |
||
Jata Profil |
#3 · Zasláno: 7. 4. 2006, 22:10:57
Mam to udělaný tak, že když prostě neexstujou žádný cookies tak si normálně najde username a heslo v databázi a dotyčnýho přihlásí ale to je jenom na tu jednu návštěvu a když zaškrtne automatické přihlášení tak se během toho klasickýho přihlášení ještě vytvoří cookies a mělo by to fungovat tak, že když tam příjde příště a jsou vytvořený cookies tak podle obsahu cookies vyhledaá dotyčnýho v databázi a pomocí session zase přihláší.
|
||
Glacier Profil |
#4 · Zasláno: 7. 4. 2006, 23:39:04
Já to dělám tak že po zaškrtnutí políčka se uloží zakódované jméno dotyčného do cookies se jménem např. Auto-login. Při dalším příchodu zkontrloluji jestli existuje cookie s názvem Auto-login. pokud ano, najdu v db. Uživatele jehož jméno po zakódování vypadá stejně jako ten kód v cookie (je to pomalý ale kdž neni moc uživatelů....) a vytvořim pro něj session (automaticky ho přihlásim).
|
||
Jata Profil |
#5 · Zasláno: 8. 4. 2006, 10:20:01
Přesně jako to má Glacier to mam udělaný, ale nefunguje mi to.
|
||
Glacier Profil |
#6 · Zasláno: 8. 4. 2006, 20:10:18 · Upravil/a: Glacier
Tak nejdřív vyzkoušej jestli se cookie vůbec vytvoří - píšeš že ano, tak se koukni také po restartu prohlížeče, jestli tam toto cookie je. Pokud tam po restartu neni tak máš někde v prohlížeči nastavené aby je mazal, pokud tam je tak hledej chybu v php kódu. Víc ti poradit nedokážu.
|
||
Tomik Profil |
#7 · Zasláno: 8. 4. 2006, 20:29:48
Myslím, že pokud by jsi, Jato, zveřejnil kus problematického kódu, spíše by ti někdo poradil.
|
||
Jata Profil |
#8 · Zasláno: 8. 4. 2006, 21:17:25
Jenže když to tak vezmu tak kód problematickej neni kde by to házelo chybu, ale tady je všechno důležitý:
Přihlašovací formulář: <?php Zpracování přihlášení <?php Pokud jsou cookies: <?php |
||
Jata Profil |
#9 · Zasláno: 8. 4. 2006, 21:18:32
Jinak jsem to jestli cookies testoval tak, že po přihlášení kdy se měly vytvořit jsem je nechal vypsat a vypsali se správně.
|
||
Glacier Profil |
#10 · Zasláno: 8. 4. 2006, 21:23:59
ale podívej se do správce cookies (ve FF nástroje>možnosti>soukromí>cookies>správce cookies) jestli tam to cookie je i po restartu prohlížeče.
|
||
Jata Profil |
#11 · Zasláno: 8. 4. 2006, 21:36:19
teď se na to nemůžu podívat, protože stahuju, ale zachvíli na to mrknu a potom řeknu.
|
||
Jata Profil |
#12 · Zasláno: 8. 4. 2006, 21:43:56
tak jsem to zrestartnul a ty cookies se smažou, ale ostatní cookies tam mam, a neni to třeba tím, že to mam na localhostu?
|
||
Glacier Profil |
#13 · Zasláno: 8. 4. 2006, 21:58:06
spíš při vytváření cookies musíš nastavit správně jejich platnost
|
||
Jata Profil |
#14 · Zasláno: 8. 4. 2006, 22:02:23
musí se ta platnost tam dávat?
|
||
Glacier Profil |
#15 · Zasláno: 8. 4. 2006, 22:03:03
asi ano když to takhle nefunguje :-D
|
||
Jata Profil |
#16 · Zasláno: 8. 4. 2006, 22:06:50
tak jsem tam tu platnost dal, cookies zůstali, ale nepřihlásilo to
|
||
Glacier Profil |
#17 · Zasláno: 8. 4. 2006, 22:07:33
konkrétně to mám takto:
setcookie(auto_login,crypt($row[id],'neco'),time()+2592000,'/'); |
||
Jata Profil |
#18 · Zasláno: 8. 4. 2006, 22:08:38
už mi to de!! super, přišel jsem na to, že jsem v proměný cookie_heslo měl heslo v MD5 a potom jsem ho ještě jednou zakódoval, takže to uživatele nenašlo, moc ti děkuju za pomoc a ochotu
|
||
Glacier Profil |
#19 · Zasláno: 8. 4. 2006, 22:10:36
:-) vždycky to je nějaká pitomost.
|
||
Jata Profil |
#20 · Zasláno: 8. 4. 2006, 22:12:34
ale chybyma se člověk učí, teď jsem zase o něco chytřejší a vim jak dobře použít cookies
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0