|
Тема |
Re: re parametyr ;-/ [re: pro_O1] |
|
Автор |
Yankoff (ъанкофф.) |
|
Публикувано | 24.04.03 11:35 |
|
|
Ako ne se luja mislq che ti otgovorih v predniq posting. Poneje ne si spomnqm mnogo dobre kakvo ti postnah i ti kakvo, molq za izvinenie ako se povtorq.
Ta tiq neshta se pravqt s cookies nai-lesno i udobno
Eto ti i po-podrobno kak stava.
Usera e v nqkakav folder, otvoril daden cgi i mu puskash cookie s funkciq setcookie(folder). Koda shte go dam po-dolu. !!! trqbva da izvikash tazi funkciq predi print "content-type: text/html", inache nqma da raboti !!!!
Sled kato usera ima cookie poveche ne se zanimavash s tova ot kade e doshul. Prosto vikash funkciq $folder = getcookie() i znaesh koi folder e. Ako pak nqma takova znachi e doshul ot google primerno ili bookmarks, znaesh li go usera moje vsichko . V toq sluchai redirectvash kam stranica kadeto usera da si izbere css, ako e tolkova vajno ili slagash default css.
Tova e nai-lesniq nachin i s nai malko promeni po koda shte go realizirash.
Vtoriq variant e s parametyr po query string-a no ne e jelatelen poneje:
1. imash mnogo rabota po koda da pipash
2. user1 dava link na user2 i user2 polzva css-a na user1, a moje da iska da produlji da polzva izbraniq si ot nego takuv. primer za tova ti davam s forum.dir.bg. Az iskam vsichki temi da mi se otvarqt edna pod druga a ne durvovidno kakto e po default. no kogato nqkoi mi prati link az vijdam temite po negoviq nachin. drazneshto e.
3. ne se seshtam v momenta, no ima i drugi prichini
eto ti i dvete funkcii:
use CGI; #trqbva da go imash
sub setcookie()
{
$cgiCkie = new CGI;
$cookie = $cgiCkie->cookie(-name=>'folder',
-value=>$_[0], #tova e parviq parametyr na funkciqta t.e. foler
-expires=>'+3y'); #validno e za sledvashtite 3 godini (resp 3m, 3d za meseci i dni)
print $cgiCkie->header(-cookie=>$cookie);
}
##########################
sub getcookie()
{
$query = new CGI;
$folder = $query->cookie(-name=>'folder');
if ($folder eq ''){$folder="defaultfolder"} # slgash si default ako iskash
return $folder;
}
##################
sega kogato iskash da znaesh foldera prosto pravish
$folder = getcookie();
i tam kadeto iskas tolkova da slojish tozi parametar folder prosto pishesh:
setcookie($folder); # predi content-type
nadqvam se sam bil izcherpatelen i polezen
__________________________
|
| |
|
|
|