Wirtualne katalogi - przekazywanie zmiennych
Przy włączonym trybie wirtualnych katalogów link do strony zbudowany jest w następujący sposób:zamiast np:
- /page.php?cat=88
- /produkty/budowlane/
Można również w takiej postaci dołączać parametry do adresu URL:
zamiast
- /page.php?cat=88&rid=100¶metr=XXX
można użyć:
czyli jeśli na końcu adresu jest sekwencja ".html" wówczas wyrażenie "rid,100,parametr,XXX" jest interpretowane tak jak "rid=100¶metr=XXX"
Można w ten sposób również przekazywać zmienne tablicowe:
adres:
spowoduje że w PHP będzie widoczna zmienna:
czyli myślnik "-" oddziela klucze dla tablicy dwuwymiarowej $_GET
Do adresu wobec tego można dodać praktycznie dowolny ciąg np nazwę produktu:
lub np:
bez konsekwencji dla strony która zostanie wyświetlona.
Przy kodowaniu ISO należy uważać na polskie znaki i znaki specjalne w adresach url - aby uniknąć problemów z odczytem PL znaków w różnych przeglądarkach powinny one być zakodowane inaczej niż tradycyjny urlencoding czyli słowo "Łódź" zamiast: %A3%F3d%BC jest zakodowane tak
służy do tego metoda isourlencode() (dołączona do pliku act_cms.js)
czyli np w oknonecie przy wyszukiwarce jest javascript typu:
- /produkty/budowlane/rid,100,
parametr,XXX.html
czyli jeśli na końcu adresu jest sekwencja ".html" wówczas wyrażenie "rid,100,parametr,XXX" jest interpretowane tak jak "rid=100¶metr=XXX"
Można w ten sposób również przekazywać zmienne tablicowe:
adres:
spowoduje że w PHP będzie widoczna zmienna:
- $_GET['eq']['grupa'] o wartości "PIRE:PISI"
czyli myślnik "-" oddziela klucze dla tablicy dwuwymiarowej $_GET
Do adresu wobec tego można dodać praktycznie dowolny ciąg np nazwę produktu:
lub np:
bez konsekwencji dla strony która zostanie wyświetlona.
Przy kodowaniu ISO należy uważać na polskie znaki i znaki specjalne w adresach url - aby uniknąć problemów z odczytem PL znaków w różnych przeglądarkach powinny one być zakodowane inaczej niż tradycyjny urlencoding czyli słowo "Łódź" zamiast: %A3%F3d%BC jest zakodowane tak
służy do tego metoda isourlencode() (dołączona do pliku act_cms.js)
czyli np w oknonecie przy wyszukiwarce jest javascript typu:
- document.location.href = '/query,'+document.
getElementById('searchinp'). value.isourlencode()+'.html';