Autor Zpráva
cistax
Profil
Dobrý den, mám problém s tím, že i když si nastavim cookies, je to jako by neexistovali, v jednom skriptu:
....
setcookie('hsh', $hash);
....

su to cookies nastavim, a ve druhém:

...
echo $_COOKIE["hsh"];
....

hlasi chybu:

Notice: Undefined index: hsh in C:\PHPWebServer\http_docs\PEPA\diskuse\un_list.php on line 36

uz fakt nevim co s tim je, tak jestli nekdo mate nejaky napad, napiste prosim.


// nemuze to byt tim, ze jsem to cookie nastavil v jednom scriptu a snazim se ho vybrat ve druhem (ale jsou oba ve stejnem adresari)
AM_
Profil
máš zapnutý výpis PHP chyb? pokud ano, nehlásí to nic? cookie se musí posílat v hlavičce, takže setcookie musí být před výstupem.
Podívej se v prohlížeči do seznamu cookies, jestli se ti vůbec vytvoří; možná taky mizí proto, že jí nenastavuješ žádnou platnost, ale do uzavření prohlížeče by existovat měla
cistax
Profil
cookie se nastavuje ve skriptu kterej zpracuje loginovy formular, a jeste potom headeruje na jinou stranku, takze to mam udelat tak, ze jeste jednou nastavim v hlavicce stranky jine cookies a jak ze se pozna zapnuty vypis chyb?

//cookies se vytvori
AM_
Profil
pokud pak posíláš header, mělo by to být v pořádku, pokud se cookie vytvoří v prohlížeči, tak tím spíš.
zkus si vypsat
print_r($_COOKIE)
cistax
Profil
nj, divne prave jsem si vsiml ze se cookies nenastavuje, predtim se nastavovalo:(
cistax
Profil
Pridavam cely kod:
toto je zpracujici script:

<?php
include("../../inc/db.php");
if(!empty($_POST["log_name"]) and !empty($_POST["log_pass"])){
$sql = "SELECT * FROM d_users WHERE jmeno='{$_POST["log_name"]}'";
$query = mysql_query($sql);
$fetch = mysql_fetch_array($query);
if(empty($fetch)){header("location: errorpass.php");exit;}

$hash = md5(sha1(mt_rand(1000,1000000)));
$hash = substr($hash, 1,10);
$ins = "INSERT INTO hashe(kdo, jaky, kdy) VALUES('$fetch[id]', '$hash', NOW())";
$q = mysql_query($ins);
setcookie("hsh", $hash);
header("location: ../un_list.php?login=$fetch[id]");
}
?>


a tohle je ta snaha o vypis cookie

echo $_COOKIE["hsh"];
fuckin
Profil *
kde nastavujes jejich dobu platnosti?!
cistax
Profil
neni potreba, kdyz neni uvedena tak trvaji az do ukonceni, a i kdyz ji nastavim, tak problem zustava
fuckin
Profil *
kdyz si vytvoris nejakou zkusebni cookie a pak to pole vypises pres print_r jde to?
cistax
Profil
ne, vypise to array() kdyz to vypisu pres var_dump pise to Array(0){};

// ted jsem zjistil ze ten script ktery nechce to cookie vypsat je v nadrazenem adresari, ma to vliv?
petr 6
Profil
ted jsem zjistil ze ten script ktery nechce to cookie vypsat je v nadrazenem adresari, ma to vliv?

Zjevne ma, mam ten samy problem. Cookie mam v podadresari a v nadrazenem adresari se skript chova, jako kdyz cookie neni nastaveno (!isset) (bohuzel reseni tohoto problemu stale heldam)
Mastodont
Profil
Co třeba nastavit path pro cookie na "/" pomocí session_set_cookie_params ?
cistax
Profil
mastodont - nevite jak se to dela cetl jsem ze cookie ma nepovinny parametr cesty, ktery kdyz nezadate , tak se to vztahuje jen pro dany adresar, ale nikde jsem uz nenasel, jakym zpusobem tu cestu nastavim, nevíte?
nightfish
Profil
cistax
ale nikde jsem uz nenasel, jakym zpusobem tu cestu nastavim, nevíte?
víme
petr 6
Profil
nightfish
U me nastaveni path na "/" ve funkci setcookie nepomaha (zkouseno v Opere)
cistax
Profil
ja jsem to vyresil tak, ze jsem po nekolika neuspesnych pokusech s pathem premistil script nastavujici cookies do adresare kde je potrebuju, ale i tak dekuji vsem za obetavost a rady.
petr 6
Profil
Samozrejme nastaveni path na "/" nakonec pomohlo, jen jsem ho prvne zapomnel nastavit na obe mista ve skriptu, kde volam setcookie

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: