Stránka 1 z 2

Cookies - Formuláře

Napsal: čtv 26. srp 2010, 17:35
od KapaCZ
Rád bych, kdyby mi někdo poradil jak cookies zakomponovat do formulářů. Určitě budu muset použít v input value, které se bude rovnat porměné, ale jak cookies ukládat a načítat do formuláře?

Re: Cookies - Formuláře

Napsal: pát 27. srp 2010, 00:10
od arxeiss
Nechápu co chceš aby to dělalo, ale Cookie můžeš ukládat a číst buď pomocí
PHP: čtení: $_COOKIE['nazev_cookie'] tvorba: setcookie(nazev, hodnota);
JavaScript: čtení: var cookies = document.cookie.split(';'); (cookies bude pole a prvek jmeno=hodnota) tvorba document.cookie = "jmeno=hodnota";

Fakt jsem z tvojeho popisu nepochopil co chceš aby to dělalo, tak se zkus vyjádřit lépe.

Re: Cookies - Formuláře

Napsal: pát 27. srp 2010, 01:11
od KapaCZ
Díky už mi to došlo :) Ted řešim ještě větší blbost :D Ačkoliv mám soubory includované do jednoho, tak to nedokáže brát proměnné z jiného souboru :/

Re: Cookies - Formuláře

Napsal: pát 27. srp 2010, 01:17
od arxeiss
Další věc co nechápu :D ale pokud includuješ někde nahoře souboru, tak to musí brát proměnné, pokud je voláš podtím.

Re: Cookies - Formuláře

Napsal: pát 27. srp 2010, 07:10
od Teuzz
Pokud popisuješ problém, popiš ho pořádně a nebo ho nepopisuj vůbec, protože je to zbytečné. Do té doby nemá cenu odpovídat...

Re: Cookies - Formuláře

Napsal: pát 27. srp 2010, 16:20
od KapaCZ
Teuzz: ......................

Už jsem přišel na to, proč to nejde. Mám totižvše v function RiKap_page_content (){} a všechno co je v tomto tagu, tak nechce brát proměné z config.php ikdyž jsou definované! Nevim jak to řešit (momo definování proměnné v daném místě).

Re: Cookies - Formuláře

Napsal: pát 27. srp 2010, 17:24
od OndraSter
global?

Re: Cookies - Formuláře

Napsal: pát 27. srp 2010, 17:25
od KapaCZ
OndraSter píše:global?
?? Nechápu :oops:

RiKap_page_content () používám k includování středu tzv. článků... a je v souboru kde mám nakodovan html vzhledu

Re: Cookies - Formuláře

Napsal: pát 27. srp 2010, 17:51
od bubanek
No tak k těm proměnným připiš global nebo je té funkci posílej přes parametr

Re: Cookies - Formuláře

Napsal: pát 27. srp 2010, 18:10
od KapaCZ
Tak podle toho co jsem si vyhledal, global použít nemohu a parametr je už vůbec nepoužitelnej.

Re: Cookies - Formuláře

Napsal: pát 27. srp 2010, 18:12
od Teuzz
KapaCZ píše:Teuzz: ......................

Už jsem přišel na to, proč to nejde. Mám totižvše v function RiKap_page_content (){} a všechno co je v tomto tagu, tak nechce brát proměné z config.php ikdyž jsou definované! Nevim jak to řešit (momo definování proměnné v daném místě).
To už je lepší, z toho se dá problém pochopit, díky.

Doporučená literatura:

http://php.net/manual/en/language.functions.php
http://php.net/manual/en/language.variables.scope.php

Z toho pochopíš, co je v kódu za problém a budeš ho schopný řešit. Klíčové slůvko global může použít, nicméně pokud jde o konfiguraci, často se hodí ji uložit jako konstantu a nebo uložit jako proměnnou statické třídy.

http://cz.php.net/manual/en/language.constants.php
http://cz.php.net/manual/en/function.define.php

Re: Cookies - Formuláře

Napsal: pát 27. srp 2010, 18:13
od Teuzz
KapaCZ píše:Tak podle toho co jsem si vyhledal, global použít nemohu a parametr je už vůbec nepoužitelnej.
a to proč?

Re: Cookies - Formuláře

Napsal: pát 27. srp 2010, 18:38
od arxeiss
Myslím že jsi asi nepochopil kde máš to global napsat, global musíš napsat v té funkci a za to global název proměnné která je nedostupná.

Kód: Vybrat vše

 $nejaka = 5;
function rikap_page_content(){
  echo $nejaka; // nevypíše protože uvnitř funkce není definovaná
}
...
...
rikap_page_content();

Kód: Vybrat vše

 $nejaka = 5;
function rikap_page_content(){
  global $nejaka;
  echo $nejaka; // vypíše protože jsi ji označil jako globální, ale globální jenom pro tuto funkci!!!
}
...
...
rikap_page_content();

Kód: Vybrat vše

 $nejaka = 5;
function rikap_page_content($parametr){
  echo $parametr; // vypíše protože jsi ji odeslal jako parametr o pár řádků níže
}
...
...
rikap_page_content($nejaka);
Nebo si zaveď třídu, ale to už je složitější, a možná i pro toto zbytečné

Re: Cookies - Formuláře

Napsal: pát 27. srp 2010, 18:51
od KapaCZ
mám function RiKap_page_content (){}, který obsahuje setcookie('nick', $_POST['nick'], 'CEXPIRE'); + kod na odeslání. V souboru config jsem si definoval define("CEXPIRE", time()+60*60*24*30);, ale píše mi to Warning: setcookie() expects parameter 3 to be long, string given in ............

Re: Cookies - Formuláře

Napsal: pát 27. srp 2010, 18:54
od Teuzz

Kód: Vybrat vše

setcookie('nick', $_POST['nick'], CEXPIRE);
místo

Kód: Vybrat vše

setcookie('nick', $_POST['nick'], 'CEXPIRE');
Víc číst, míň "programovat", víc přemýšlet. A používat

Kód: Vybrat vše


Krom toho, ukládat nick do cookie... to zavání průšvihem. K čemu to používáš? Možná chceš použít SESSION, možná děláš bezpečnostní díru do systému.

Re: Cookies - Formuláře

Napsal: pát 27. srp 2010, 18:58
od arxeiss
Btw. Jelikož vím jak ten tvůj web vypadá. pokud budeš na stránce
www.blog.rikap.cz/ a zavedeš tam to cookie, tak je to OK
ale pokud budeš na www.blog.rikap.cz/clanky/jak-na-neco/
a vytvoříš cookie tam, tak poté co příjdeš na index, tak tam to cookie nechytneš...
musíš dát

Kód: Vybrat vše

setcookie('nick', $_POST['nick'], CEXPIRE,"/");

Re: Cookies - Formuláře

Napsal: pát 27. srp 2010, 19:00
od KapaCZ
Používám to ke komentářům na webu. Ve vlastním RS. To RS mám spíše k učení, ale funguje to tak jak má a využívám ho.

arxeiss: OK díky.

Re: Cookies - Formuláře

Napsal: pát 27. srp 2010, 20:19
od KapaCZ
Jak zapsat nastavení připojení k DB, aby mi fungovalo jak na localhostu, tak na serveru. Jde mi o to, že už mě nebaví pořád upravovat heslo a login. Něco ve stylu if localhost ..... else ,,,,,

Re: Cookies - Formuláře

Napsal: pát 27. srp 2010, 20:27
od Teuzz
Tak nějak. Počti si http://php.net/manual/en/reserved.variables.server.php - tam najdeš co potřebuješ

případně se to taky dělá pomocí toho, že si nastavíš. tzv. proměnnou prostředí v .htaccess na development a na serveru to máš nastavené na production

a na základě toho můžeš třeba i vypínat a zapínat debugger apod.

Re: Cookies - Formuláře

Napsal: pát 27. srp 2010, 20:27
od arxeiss
if(substr_count("localhost", $_SERVER['SERVER_NAME'])>0){
pak jsi na localu
}