Stránka 1 z 1

nejedou mi cookies

Napsal: pon 11. čer 2007, 16:44
od <big>lama
na webu http://www.82ado.net mi nejedou cookies.
Koláček se vytvoří při ukládání příspěvku do návštěvní knihy

SetCookie ("82ado_nick", "$jmeno", time()+10000*10000);

a pak se v index html samozřejmě před všema hlavičkama kontroluje zda

if(!isset($_COOKIE["82ado_nick"])) $nickname = $_COOKIE["82ado_nick"];

pak při znovu načtení knihy by se měl vypsat cookie pomocí echo nickname do value políčka se jménem ale nefunguje to.

V podstatě se stane to že cookie se mi vytvoří, skontroluju to přes cookies managera v Opeře, ale $_COOKIE["82ado_nick"] ani $HTTP_COOKIE_VARS mi ho nenačte.

Cookie jsem prve vytvářel v jiné složce než jsem ho četl, ale to už jsem skusil i tak že jsem ho vytvořil i četl ve stejné složce a stejně nic.

Fakt už nevím co stím, není to životně důležité, tka ale nevidím důvod proč to nechce jet, s koláčkama si hraju prvně.

Re: nejedou mi cookies

Napsal: pon 11. čer 2007, 18:45
od Teuzz
<big>lama píše:na webu http://www.82ado.net mi nejedou cookies.
Koláček se vytvoří při ukládání příspěvku do návštěvní knihy

SetCookie ("82ado_nick", "$jmeno", time()+10000*10000);

a pak se v index html samozřejmě před všema hlavičkama kontroluje zda

if(!isset($_COOKIE["82ado_nick"])) $nickname = $_COOKIE["82ado_nick"];

pak při znovu načtení knihy by se měl vypsat cookie pomocí echo nickname do value políčka se jménem ale nefunguje to.

V podstatě se stane to že cookie se mi vytvoří, skontroluju to přes cookies managera v Opeře, ale $_COOKIE["82ado_nick"] ani $HTTP_COOKIE_VARS mi ho nenačte.

Fakt už nevím co stím, není to životně důležité, tka ale nevidím důvod proč to nechce jet, s koláčkama si hraju prvně.
Vzhledem k tomu, jak se cookies často používají v běžných aplikacích, si s nima IMHO hraješ taky naposledy, uživatel je může přepsat.
Zkoušel jsi $_REQUEST, to načítá všechny GPS proměnné, bez ohledu na konkrétní typ...
Zkusil bych taky delší zápis se složenými závorkami, tohle se serveru nemusí líbit..
Cookie jsem prve vytvářel v jiné složce než jsem ho četl, ale to už jsem skusil i tak že jsem ho vytvořil i četl ve stejné složce a stejně nic.
Můžu si tohle nechat vysvětlit kódem? Díky...

//edit: už jsem se probudil - mysliš jako že zapisující a čtecí skript byly v jiné složce? To vadit nemůže. :?

Re: nejedou mi cookies

Napsal: pon 11. čer 2007, 18:51
od matajon
<big>lama píše:if(!isset($_COOKIE["82ado_nick"])) $nickname = $_COOKIE["82ado_nick"];
Ehm ... ten vykřičník tam máš proč ? Takhle se do $nickname přiřadí hodnota toho COOKIE jenom v případě že není nastavené ... což je logicky trochu kravina :)

Kód: Vybrat vše

if(isset($_COOKIE["82ado_nick"])) $nickname = $_COOKIE["82ado_nick"];

Re: nejedou mi cookies

Napsal: pon 11. čer 2007, 18:52
od Teuzz
matajon píše:...
To ale jaksi neřeší
$_COOKIE["82ado_nick"] ani $HTTP_COOKIE_VARS mi ho nenačte
//co dělá print_r($_COOKIE) ?

Napsal: pon 11. čer 2007, 19:02
od <big>lama
Matajon: máš pravdu toho jsem si nevšiml, ještě to pak večer skusím bez toho.

Request jsem zkoušel, a to že se dá obsah přepsat mi nevadí, protože tam bude jen uložen nick na kterém moc nezáleží.

Ze začátku jsem to tam myslím měl bez té kontroly jestli cookie existuje nebo ne a stejně mi to ten skript který byl o úroveň výš nenačetl, ale pokud jsem si pustil přímo skript který se includoval do index.php (to je ten co je o úroveň výš) přesněji kniha.php (vypisuje knihu a formulář) tak se ten cookie načetl (načtení cookie jsem měl přímo vněm i v index.php).

struktura složek je následující: v root složce je index.php do kterého se includují všechny obsahy a ve složce kniha je soubor kniha.php a uloz.php, kniha vypise z DB příspěvky a formulář a uloz.php uloží do DB a vytvoří cookie.

Co jsem se koukal na http://cz.php.net/manual/cs/function.setcookie.php
tak tam jsou parametr pro které složky je platný a pro který server, nebo tak nějak.

//print r cookie nedělal nic, ale nejsem už si jist protože jsem to dělal včera, radši to všechno ještě dneska skusím.

Napsal: pon 11. čer 2007, 20:14
od OndraSter
ten prvni kod je blbost :wink:

Kód: Vybrat vše

if(!isset($_COOKIE["82ado_nick"])) {
 $nickname = "defaultni nick";
 setcookie ("82ado_nick", $jmeno, time()+10000*10000);
} else
 $nickname = $_COOKIE['82ado_nick'];
tohle jsi chtel? :roll:

Napsal: pon 11. čer 2007, 20:59
od Teuzz
mno, IMHO bude spolehlivější a jednodušší (protože to narozdíl od Cookies vždycky správně fungovalo) použít $_SESSION... sice se do ní nedá uložit informace na déle jak jednu relaci, ale to tady pokud to dobře chápu stejně není potřeba...

Napsal: pon 11. čer 2007, 22:34
od <big>lama
Takže to co napsal OndraSter tak to je použitelný, ale ne pro můj případ, tímpádem je i to od Teuzz trochu mimo.

Já chci jen to abych nemusel pokaždé vyplňovat při psaní do GB jméno tak aby se mi uložilo do cookie a pak třebas za týden nebo druhej den se mi zní načetlo a já napsal jen správu.

Ještě to teď asi skusím si stím pohrát :razz:

Napsal: pon 11. čer 2007, 22:49
od OndraSter
<big>lama píše:Takže to co napsal OndraSter tak to je použitelný, ale ne pro můj případ, tímpádem je i to od Teuzz trochu mimo.

Já chci jen to abych nemusel pokaždé vyplňovat při psaní do GB jméno tak aby se mi uložilo do cookie a pak třebas za týden nebo druhej den se mi zní načetlo a já napsal jen správu.

Ještě to teď asi skusím si stím pohrát :razz:
v cem je problem? Ja to klidne prepisu..

Teuzz: taky jsem chtel navrhnout sessions, ale kdyz tam ma tak dlouhou trvanlivost tak to bude bud prihlaseni nebo automaticky vyplneni formulare tak jsem mu to neubiral :roll:
Ale jinak cookies nemam rad..

Napsal: pon 11. čer 2007, 23:26
od <big>lama
Nechápu, nevím asi z teho porodím, tak jsem to udělal tak že ten if je konečně dobře napsaný a cookie vytvořím skriptem který je v root složce a pak jde přečíst i v root složce a i skriptama v podložkách.

Pokud jsem ho vytvořil skriptem v podsložce tak jsem ho ve šložce o ůroveň výše nemohl přečíst, ale teď když jsem ho vytvořil v rootu tak jde přečíst i ve složce.

Když jsem ho vytvářel v podložce tak v cookies manageru v opeře tam bylo u názvu toho cookie ještě i název té složky takže to bylo asi tak že to bylo čitelné fakt jen pro skripty ze složky ale ne o úroveň výš.

Bohužel o tomhle jsem se na netu nikde nedočet, ale je možné že na jiných hostincích bude jinak nastavený server a bude to přístupné odkudkoli.

Právě že o té přístupnosti je něco tady,
http://cz.php.net/manual/cs/function.setcookie.php
ale nevěděl jsem jak zapsat aby se to chovalo že to bylo vytvořeno o úroveň výše.

//to ondraster, tak už to mám tak jak jsem potřeboval, prostě jen vytvořit a pak vložit do value u toho jména nic víc, prostě jen předvyplnit formulář, a na to se sessions nehodí.

Jinak COOKIES taky nemusím, leda jako jídlo :-D

Napsal: úte 12. čer 2007, 00:14
od OndraSter
<big>lama píše:
Pokud jsem ho vytvořil skriptem v podsložce tak jsem ho ve šložce o ůroveň výše nemohl přečíst, ale teď když jsem ho vytvořil v rootu tak jde přečíst i ve složce.
aneb 3. parametr, je to hned na http://php.net/setcookie v seznamu :wink:

Napsal: úte 12. čer 2007, 13:16
od <big>lama
ondraster: jj je to on, skusím si sním kdyžtak pohrát, ale dneska ještě né, teď jak to funguje to je putna :)