Autor Zpráva
cesilek
Profil *
Zdravím, mám dvě cookies, který mají stejný název. Jak mám dostat hodnotu s obou cookies?
Spacebar
Profil
Nijak.
fuckin
Profil
Ta poslední přepíše tu druhou.

Máš to to samé jak kdybys chtěl dvě proměnné se stejným identifikátorem.

$a = 'prvni promenna';
$a = 'druha promenna';

echo $a; //vypise se druha promenna protoze ta prvni hodnota je jiz prepsana
cesilek
Profil *
fuckin:
To jsem si také myslel, ale Joomla mě opravdu dokáže na jednom webu vytvořit stejné cookies...
Spacebar:
Nějak to jít musí, protože přihlášení na web normálně fiunguje, ale problém mám s vlastním scriptem, který běží samostatně..
fuckin
Profil
Tak se podiv jaké cookies jsi o joomly dostal a uvidíš že to není možné pokud mají opravdu stejný název
cesilek
Profil *
fuckin:
http://1.kasanos.cz/cookies.png
mylan
Profil
Možné to je, pokiaľ majú cookies s rovnakým názvom nastavenú inú cestu, alebo doménu ($path a $domain vo funkcii setcookie) - Cookie s cestou / bude platiť vo všetkých adresároch, zatiaľ čo cookie s cestou /forum/ len v adresári forum a jeho podpriečinkoch. V adresári /forum/ tak bude možné nájsť 2 cookies s rovnakým názvom.

Premenná $_COOKIE bude obsahovať hodnotu len jednej cookie, musíš si vypísať cookies z premennej $_SERVER['HTTP_COOKIE'], viď príspevok v diskusii pri funkcii setcookie: http://www.php.net/manual/en/function.setcookie.php#91140
cesilek
Profil *
mylan:
Mozilla to v tom všeobecném přehledu ukázala jako server "kasanos.cz" ale když jsem si to rozklikl, tak jsem zjistil, že opravdu má každá cookie jiný server. Jedna www.kasanos.cz a druhá jen kasanos.cz Ta proměná funguje, ale já bych potřeboval vypsat obě cookies najednou.. Je to možné?
mylan
Profil
Máš to popísané v tom komentári na php.net. Pokiaľ chceš vypísať len tie 2 konrétne cookies, ktoré majú rovnaký názov, ale iné hodnoty, tak to bude vyzerať nejako takto:
<?php
$arr = explode(';', $_SERVER['HTTP_COOKIE']);

foreach($arr as $val){
  $c = explode('=', $val);
  if (trim($c[0]) == '5dcb7c40...') echo $c[1] . '<br>'; // porovnať voči názvu cookies, ktoré chceš vypísať
  else continue;
}
?>
cesilek
Profil *
mylan:
podmínku zvládnu, ale problém je, že stejně doujde k vypsání pouze té jedné cookie, která je aktuální pro tu adresu na které jsem. Když potom přejdu na jinou (jedna s www a druhá bez..) tak zase vidím jinou cookie, ale já bych potřeboval zobrazit cookie jak pro www, tak i bez www a to najednou.
cesilek
Profil *
Už jsem to vyřešil tím, že jsem udělal automatické směrovní s domény bez www na doménu s www. Jinak ale moc díky za pomoc.

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