Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]dodawanie zmiennej $_GET do już istniejących
Forum PHP.pl > Forum > Przedszkole
Larges
Witam wszystkich.
Mam serwis z przyjaznymi urlami pod którymi kryją się różne zmienne. Chciałem dopisać do niego skrypt z wyświetlający listę filmów (wg różnych kategorii).

Mam listę po prawej i wyświetlany film po lewej (przyjazny url już jest ustalony).
Przewijam sobie listę po prawej dowolnie i jak kliknę w jakiś link, lista wraca do początkowego widoku i wyświetla się film.
Gdybym wiedział jak można dopisać np. zmienną $_GET do przyjaznego urla nie grzebiąc w .htaccess byłaby sprawa załatwiona.
Czy jest opcja dopisania w jakiś magiczny sposób zmiennej?
Black-Berry
Moim zdaniem się nie da bez ruszania htaccess'a ale mogę się też mylić. Na Twoim miejscu starałbym się dodatkową zmienną wpakowac do tablicy $_SESSION.
revyag
Nie wiem jak masz htacces zrobiony ale wystarczy dodać flagę QSA.
przykład:
Kod
RewriteRule  (.*) index.php?req=$1 [L,NC,QSA]
Pilsener
Cytat
dopisać np. zmienną $_GET do przyjaznego urla nie grzebiąc w .htaccess
- jeśli serwis został tworzony przez osobę myslącą i praktyczną, to łatwo, gdyż na pewno ktoś przewidział taką możliwość. Trudno powiedzieć cokolwiek nie widząc serwisu ani .htaccess. Ja np. robię tak, że jak mam adres:

strona.pl/filmy/sensacyjne/ogladaj,tyt,3,45.html

filmy/sensacyjne/ogladaj,tyt,3,45 to jedna zmienna $_GET , która jest dopiero rozkładana w kodzie PHP na czynniki pierwsze. Dzięki temu łatwo dodawać kolejne zmienne do adresu i odbierać je w kodzie php nie grzebiąc w .htaccess.

Plik .htaccess mi zamienia to:
strona.pl/filmy/sensacyjne/ogladaj,tyt,3,45.html
na to:
strona.pl/index.php?page=filmy/sensacyjne/ogladaj,tyt,3,45
Resztę robi klasa/funkcja do obsługi tego, która zwraca elegancką tablicę ze zmiennymi. A ile musiałbyś się napisać w htaccess? Czasem widzę po kilkaset reguł, a to już przestaje mi się podobać.
Berg
Możesz zbudować router do skryptu, wtedy będziesz mógł mieć ile chcesz zmiennych przesyłanych przez adres. Przykład budowy prostego routera masz tutaj. Możesz też przypisać nową zmienną do istniejącej, np. z adresu www.jakis-adres.pl/zmienna1,zmienna2-zmienna3.html

  1. <?php
  2.  
  3. $zmienna1 = $_GET['zmienna1'];
  4. $zmienna_expl = explode('-', $_GET['zmienna2']);
  5. $zmienna2 = $zmienna_expl[0];
  6. if(!empty($zmienna_expl[1])) $zmienna3 = $zmienna_expl[1];
  7.  
  8. ?>


W takim przypadku wykorzystujesz tylko 2 GET'y a możesz uzyskać 3 zmienne.
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.