Autor | Zpráva | ||
---|---|---|---|
W4C Profil |
#1 · Zasláno: 28. 8. 2011, 20:34:03
Nazdar,
je to normální, nebo mám někde něco špatně? Jedná se o počítadlo na bázi cookies - při každém reloadu stránky se má hodnota/value/ cookies zvětšit o 1 a už při prvním načtení stránky má mít hodnotu 1. Ale echo $HTTP_COOKIE_VARS[$cookie_name]; V prohlížeči je ale správná hodnota cookies zobrazena bez vyjímky vždy správně/editovat místní nastavení-cookies(Opera). Jak to, že prohlížeč to ukáže hned a $HTTP_COOKIE_VARS až po reloadu a navíc ještě o 1 méně?. <?php $cookie_name = "Pocitadlo"; if(!isset($HTTP_COOKIE_VARS[$cookie_name])) $pocet=1; else $pocet=(($HTTP_COOKIE_VARS[$cookie_name])+1); if(isset($cookie_name)) setcookie($cookie_name, $pocet, $cookie_expire, $cookie_path, $cookie_domain, $cookie_secure, $cookie_httponly); ?> . . . <?php echo "View: ".($HTTP_COOKIE_VARS[$cookie_name]+1); //počítadlo -stav IF (isset($_SERVER['HTTP_COOKIE'])) //zobrazení všech nastavených cookies { $cimp=explode(";",($_SERVER['HTTP_COOKIE'])); echo count($cimp ); foreach($cimp as $valcimp =>$valcimp2) echo "[".++$citac_00."]".$valcimp2." "; //ma se sice zobrazit vypis vsech nastavenych cookies hned, ale zobrazí se všechny až po reloadu stránky(???)... } ?> |
||
Leo Profil |
#2 · Zasláno: 28. 8. 2011, 20:57:22
W4C:
„Jak to, že prohlížeč to ukáže hned a $HTTP_COOKIE_VARS až po reloadu a navíc ještě o 1 méně?.“ Protože 1, cookie nastavujete na serveru, ale 2, php zobrazuje v dané proměnné až cookie, kterou (a pokud) pošle prohlížeč Leo |
||
Majkl578 Profil |
#3 · Zasláno: 29. 8. 2011, 07:59:54 · Upravil/a: Majkl578
Na tohle se víc hodí session, už jen proto, že uživatel nemůže měnit ukládanou hodnotu. V každém případě, nepoužívej
$HTTP_*_VARS , ale $_* ($_COOKIE , $_POST , $_SESSION atd.), je to přežitek ze starých verzí PHP.
|
||
W4C Profil |
#4 · Zasláno: 30. 8. 2011, 23:45:12
OK, mám nedostaky a stydím se za ně :D
Cookies běžně nepoužívám a jen zkouším, co všechno umí. HTTP_COOKIE_VARS jsem původně myslel, že je novější.Z omylu mě vyvedly /asi nekonečné/ čachry s verzemi PHP na ic.cz, takže to zčistajasna přestalo fungovat a musel jsem tam dát chtě-nechtě $_COOKIE,které kupodivu funguje i na starších verzích PHP. Uživatel může měnit hodnotu - to je pravda,session se bude hodit učitě víc. Ještě mě tak napadlo ohledně toho načítání první hodnoty cookie při prvním načtení stránky: Nejde to nějak obejít pomocí iframe? Tzn pokud bude umístěno nastavení cookies v samostatném souboru(c1), který se načte při prvním loadu stránky pomocí iframe na začátku stránky, druhý iframe těsně za ním/ s tímto steným souborem(c1)/, by měl po svém (znovu)načtení teoreticky vrátit cokkies na server,protože dojde k jeho opětovnému načtení, ne?.Nějak mi to ale nefunguje - buďto to tak nejde udělat, nebo se soubor v iframe načítá z cache nebo mám někde chybu Má cenu se v tom vrtat nebo je to ztráta času a nejde to takhle v žádném případě řešit? |
||
Časová prodleva: 13 let
|
0