slash^
6.12.2003, 01:17:02
Witam
Mam problem, ktorego rozwiazanie dla mnie jest bardzo wazne, otoz:
mam strone 1.php
a w niej 2 linki:
link1
link2
jak zrobic, aby np. kazdy z nich przekazywal inne dane poprzez SESJE;
np.
linki1: link do strony page.php + sesja np. A = 3
linki2: link rowniez do page.php + sesja np. A = 6
czy da sie takie cos w ogole zrobic? I problem w tym, ze metody cookie, post i get odpadaja =/
rzseattle
6.12.2003, 01:27:50
No coz, logicznie rzecz biorac to sesja zostanie stworzona zanim uzytkownik wybierze link wiec niemozliwa jest zmiana wartosci zmiennej sesyjnej w czasie kiedy uzytkownik go naciska.
Zamiast tego (jesli boisz sie o wyplyw danych) mozesz zastosowac flage ktora powie jakie wartosci dla zmiennych musza byc przyjete na stronie page.php
slash^
6.12.2003, 01:35:32
Flagi? =P A mozna prosic o drobny przyklad prezentujacy te metode... ?
rzseattle
6.12.2003, 01:39:05
ej no nic prostszego
page.php?f=1
pafe.php?f=2
[php:1:7aef716068]<?php
if( $_GET['f'] == 1 ){
$zmienna = 1111;
}elseif( $_GET['f'] == 2 ){
$zmienna = 5678;
}
?>[/php:1:7aef716068]
slash^
6.12.2003, 01:50:27
Niestety, jak juz napisalem wczesniej metoda get, post i cookie - nie dzialaja (gdyz chce dodac do istniejacego juz "kombajnu" opcje wlasnie z czyms takim i jedyne zmienne jakie sa akceptowane to sesja =/)
Wiec jezeli nie mozna uzyc sesji, to czy jest jakas inna mozliwosc na przekaz danych?
rzseattle
6.12.2003, 01:55:24
jasli skrypt interpretuje tylko podane zmienne sesyjne to robisz dokladnie tak jak ci powiedzialem tylko ze wykorzystujesz tablice $_SESSION
[php:1:397ec68a60]<?php
if( $_GET['f'] == 1 ){
$_SESSION['a'] = 1111;
}elseif( $_GET['f'] == 2 ){
$_SESSION['a']= 5678;
}
?>[/php:1:397ec68a60]
wstawiasz na poczatek pliku i dalej juz sa widziane jako dane sesyjne
slash^
6.12.2003, 02:08:19
Niestety nie zrozumielismy sie :(
Ten "kombajn" to jakis (nawet nie wiem jaki dokladnie) nuker, jest oparty o 1 strone index.php i kazde menulink (oryginalnie przez niego zrobiony w administracji) jest miej wiecej w takiej postaci: http://...../index.php?page=02/04/50
Jezeli do powyzszego linku dodam jakikolwiek argument np. &f=1 to w moim skrypcie go nie widac - tak jakby w ogole nie byl ustawiony =/ (jak wrzucam inna strone i odpalam ja sama to zmienne $_GET dzialaja - wiec to nie jest przyczyna wersji ani ustawien php). Tak wiec podany przez Ciebie sposob odpada :(
rzseattle
6.12.2003, 02:12:46
heh wyglada na to ze ten systemik zczytuje inputa a puzniej niszczy tablice get, post i cookie - jak wyczaisz gdzie sa one zczytywane to bedziesz mogl sie dostac do swoich zmiennych
slash^
6.12.2003, 02:28:14
Tak... 450 kb =P zdeka duzo tego jest, a kazdy otwierany plik to include do innego w ktorym jest jakis fragment kodu i include =]
Moze sprubuje inaczej, pamietam, ze gdzies czytalem o funkcji, ktora "zczytuje" z linka dane tzn bylo tak:
$a = jakasfunkcja();
$link = explode ("?", $a);
potem $zmienne = explode ("&", $link[1]);
tylko jaka to byla funkcja, moze wiesz? help :P
rzseattle
6.12.2003, 02:46:35
Jesli zastosujesz metode ktora wyzej podalem na samym poczatku strony do ktorej prowadzi link(przed wszystkimi include itd) to zmienne powiny zostac przeniesine do sesji
a co do funkcji zczytujacej to [php:1:474de02d98]<?php
$a = $_SERVER['REQUEST_URI'];
$b = explode("?", $a );
$arrZmienne = explode("&", $b[1] );
print_r( $arrZmienne );
?>[/php:1:474de02d98]
tylko zmiene piszesz w postaci index.php?zmienna1&zmienna2&zmiena3...
slash^
6.12.2003, 02:56:28
no wlasnie o to chodzilo, big TNX :*
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.