klag
13.05.2003, 12:47:35
Mam takie pytanie.
Potrzebuje przekazać w całości ostatni url do nastepnego skrpytu poprzez url. Niby nic prostszego ale link ma np. postać:
$url = aktualnosci.php?akcja=11&nius_id=9 (powiedzmy że złapany przez REQUEST_URI) i cała rzecz polega na tym że trzeba to przekazać tak:
costam.php?ackja=2&url=aktualnosci.php?akcja=11&nius_id=9 co juz nawet wzrokowo jest niepoprawne bo w pewnym momencie priorytet & wygrywa z całą resztą i otrzymam w rezultacie tylko
$url=aktualnosci.php?akcja=11 bo nius_id=9 zostanie potraktowana jako następna zmienna skryptu. Czy konieczna jest formalna zamiana strina $url tak, aby podmienic & na np. $ czy cokoliwek innego czy można spbie z tym poradzic jakoś lepiej?
DeyV
13.05.2003, 12:49:14
urlencode i urldecode
klag
13.05.2003, 13:15:08
Niestety system ów nie działa raczejh nawet poz zastosowaniu dodatkowo funkcji htmlentities. Chodzi tylko o znak & bo on myli przeglądarkę i pokazuje mu ostatni fragment url'a jako nową zmienną - zamienię to na piechotę chociaz jest to ......może bez sensu ale na pewno skuteczne . Ale mimo wszystko dziękuję.
spenalzo
13.05.2003, 17:40:18
Kodujesz sobie w base64, usuwasz = i na następnej stronie odkodowujesz. działa na pewno.
klag
14.05.2003, 18:07:40
Zrobiłem tak: że zamieniłem tylko & na przykładowy znak %%% (może nietrafny ten kod %%% ale cóż

) - a następmnie tam gdzie url był potrzebny odkodowałem. Banalne ale dobre - tak uważam. Bez kombinacji. Ale w końcu każdy robi po swojemu ....
spenalzo
14.05.2003, 19:03:03
A nie prościej tak?
[php:1:ecf0d456b3]<?php
# strona1.php
echo "<a href="strona2.php?var=abc&link=".base64_encode($PHP_SELF.".".$QUERY_STRING)."">link</a>";
# strona 2
echo base64_decode($link);
?>[/php:1:ecf0d456b3]
I bezproblemowo przekazywany jest adres na drugą stronę...
A ze znakami "=" pomyliłem sie - można usunąć tylko z końca ciągu.
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.