|
Тема
|
re parametyr ;-/
|
|
Автор |
pro_O1 (специален) |
Публикувано | 04.04.03 13:22 |
|
predi go bqh powdigal toq wypros i reshenieto koeto poluchih se okaza perfektno dokato ne zabelqzah che ima edin bug ;-) stawashe duma za slednoto. imam site sys truktura:
/
/folder1/
/folder2/
/folder3/
i t.n.
wyw wseki folder ima otdelen sajt, kojto obache wika edin i sysht forum. celta e foruma da razbira ot koj folder e izwikan i da wzema css-a ot tam za da se displayne w stila na wikashtiq sajt. s predawane na parametyr kym linka na foruma ot tipa ?folder=alabala wsichko si zaspa... obache towa e samo na pryw pogled zashtoto kato se klikne na koj da e thread ot foruma ili izobshto nqkoj link, toj weche ne zawyrshwa s parametyra i foruma wzema / foldera za defaulten respektiwno si wzema css-a ot tam i pridobiwa sywsem razlichen wid. kak move da se izbegne cqlata taq chudesiq?
poneve ne sym siguren che obqsnqwam mnogo razbiraemo, eto nagledno primera.
otiwate na i cykate na linka narechen "kavi we batko". towa e defaultniq sajt. powtarqte upravnenieto s , pak cykate na wyprosniq link i wivdate kak foruma se preoblicha w stila na sajta. obache kato cyknete na kojto i da e link wytre w nego shte widite che weche cssa ne e ot foldera 000, a ot glawniq... toq problem iskam da fixna. mnogo shte sym blagodaren na nqkakwo reshenie .
|
|
| |
Тема
|
Re: re parametyr ;-/
[re: pro_O1]
|
|
Автор |
nupaT (pirat) |
Публикувано | 07.04.03 23:58 |
|
ам ... не разбирам много от перл но все пак:
пробвай да вкрараш стила който искаш в променлива и да я запазиш
примерно: print ("<input type=\"hidden\" name=\"css\" value=\"style1.css\">\n");
отдавна не съм писал на перл а и не разбирам много но ... мисля че ще стане.
Break The UnBreakable
| |
Тема
|
Re: re parametyr ;-/
[re: nupaT]
|
|
Автор |
pro_O1 (специален) |
Публикувано | 09.04.03 15:41 |
|
poneve az nishto pochti ne razbiram ot perl, kyde da go slova towa? tam kydeto se generira wseki page? a kak shte se wyrve towa s parametyra kojto se predawa kato ime na folder? w momenta css-a se wika taka:
$css_style = qq~
<link rel="stylesheet" href="http://thedezine.com/is$folder/styles.css" type="text/css">
~;
|
|
| |
Тема
|
Re: re parametyr ;-/
[re: pro_O1]
|
|
Автор |
nupaT (pirat) |
Публикувано | 09.04.03 16:14 |
|
значи променливата $folder я съхраняваш някъде и след това с пост или гет
я прехвърляш от страница на страница. не знам как може да стане на перл
но с <input type=hidden> ще стане. и след това го четеш като променлива
HTTP POST ili HTTP GET
не знам как точно са променливите за ХТТП в перл
Break The UnBreakable
| |
Тема
|
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
__________________________
| |
Тема
|
Re: re parametyr ;-/
[re: Yankoff]
|
|
Автор |
pro_O1 (специален) |
Публикувано | 25.04.03 10:26 |
|
tnx ti mnogo, no edinstwenoto, koeto uspqh da postigna beshe poredica ot internal server errors i dosta drugi neuspeshno konfiguriranici ot koito rezultata beshe nqkakwa displejnata edinica. qwno nqma da go naprawq taka. blagodarq ti za otdelenoto wreme wse pak i sorry
|
|
| |
Тема
|
Re: re parametyr ;-/
[re: pro_O1]
|
|
Автор |
Yankoff (ъанкофф.) |
Публикувано | 25.04.03 16:03 |
|
sloji v nachaloto na scripta
use CGI::Carp "fatalsToBrowser";
i posle paste errora ot browsera. sigurno e neshto drebno i shte se fixne bazro
__________________________
| |
|
dai scriptovete nasam. i shte ti gi varna redaktirani. taka e slojno za obqsnqvane. po princip moje da stane s passvane na parametri i ot %ENV da se izvli4a absolutniq pat do scripta i s regulqren izraz da se opredelq direktoriqta
| |
|
|
|
|