Autor Zpráva
puzzle
Profil
Ahoj
Měl bych takový dotaz co je lepší pro jazykové mutace SESSION nebo COOKIES, COOKIES se ukládá na server nebo do prohlížeče? A vyprchává po určité čase jako SESSION nebo ne?

A ještě takový pod dotaz dá se v php nastavit, že se něco sputí přesně v tolik a tolik, nebo je potřeba použít javascript... pokud jen Javascript, jak nastavím, že bez Javascriptu se třeba nepřihlásím, díky za odpovědi
TomasJ
Profil
puzzle:
Obojí se ukládá k uživateli. Cookie vyprší, až mu skončí doba platnosti, kterou nastavíš.
Na tvůj další dotaz, jestli se dá něco v tolik a tolik spustit, je Cron (nevím jak se s ním pracuje, najdi si o tom víc někde na netu nebo to je možná i tu). Session se smaže po zavření prohlížeče, dřív ne (aspoň mně to takto jede).

bez Javascriptu se třeba nepřihlásím
JavaScriptem vypíšeš přihl. formulář, pokud nemá JS, nezobrazí se uživateli. Pak je html tag <noscript> který je párový.

Jediné co mě štvě, je, že cookie se dá nastavit i javascriptem v adresním řádku a já nevím jak zabezpečit aby cookie bylo neplatné, když bude z JS. Proto používám raději sessions.
cesilek
Profil
Na jazykové mutace stačí cookies a jak píše Tomáš doba platnosti je podle tvého nastavení.
Session se ukládá na server, ale aby rozeznal jakému uživateli má data přidělit, ukládá si stejně rozpoznávací klíč k uživateli a to do cookie, nebo URL adresy. Zásadní rozdíl je v tom, že data uložená v cookies může uživatel jednoduše a libovolně měnit. Session může uživatel maximálně smazat, tím že se bude vydávat za někoho jiného.
puzzle
Profil
A jak nastavím dobu platnosti COOKIES?
Tori
Profil
puzzle:
dá se v php nastavit, že se něco sputí přesně v tolik a tolik, nebo je potřeba použít javascript
Co chcete spustit? Aby se třeba ve tři ráno zálohovala databáze (cron), anebo aby se každý den mezi 11h a 13h na webu zobrazovala reklama nějaké restaurace (PHP a/nebo JavaScript).
cesilek
Profil
puzzle:
setCookie ("jmeno", "hodnota" , "čas");
Čas musíš uvést v unix time.
Takhle nastavíš platnost na jednu hodinu:
setCookie ("jazyk", "cz", time () + 3600)
Radovan789
Profil *
puzzle:
Taky by se hodilo dodat že všechno co dokáže SESSION si můžeš vytvořit sám pomocí COOKIES a PHPčka, SESSION je pouze již hotové řešení.
G3n3sis19
Profil
TomasJ:
Obojí se ukládá k uživateli
Já si až do teď myslel, že session (SID) se ukládá u uživatele a ten potom odešle s dotazem na stránku, kde pak server vybere session data podle toho id, a cookie je u uživatele? Můžete mi to vysvětlit? Z wiki jsem to moc nepochopil
TomasJ
Profil
G3n3sis19:
Při použití sessions se každému návštěvníkovi nastaví unikátní klíč a uloží se v podobě např. PHPSESSID s hodnotou nějakého hashe (unikátního klíče). Pak se na server ukládají jednotlivé sessions (ony data). Při zavření stránky se data relace (session) vymazají a cookie s unikátním klíčem taky.
puzzle
Profil
cesilek:

A co když to bude chtět neomezeně, třeba jak je tu na tom foru, že jak se přihlásíš pořád jsi přihlášený
TomasJ
Profil
puzzle:
Tady to taky není neomezené. Myslím, že to platí nějakých 14 dní. Nikdy pro cookie nenastavíš nekonečnou platnost. Možná tak maximálně půl roku, ale to pochybuji. Spíš tak měsíc až 2.
cesilek
Profil
TomasJ:
Běžně mám z některých stránek nastavenou platnost klidně do roku 2017, což pro "neomezené" přihlášení stačí bohatě.
TomasJ
Profil
cesilek:
To ano, ovšem ne všude to funguje. Mně to třeba pořád vyhazovalo chybu a když jsem nastavil platnost třeba měsíc až 2, šlo to jak mělo.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0