Autor Zpráva
W4C
Profil
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];
umístěný níže začne počítat až po reloadu stránky./Zobrazí hodnotu 1 až po reloadu, což by vlastně měla být už hodnota 2.Řeším to od lesa přidáním +1.

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
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
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
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?

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