Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mod_rewrite/html] Problem z przesłaniem zmiennej w get przy użyciu mod_rewrite
Forum PHP.pl > Forum > Przedszkole
Morale
Witam, mam taki formularz:

  1. <form method="get" action="strona,.html">
  2. <input type="text" name="strona">
  3. <input type="submit">
  4. </form>


I tu pojawia się pytanie - jak zrobić by zmienna $_GET['strona'] znalazła się pomiędzy: strona, a .html, bo jak narazie to znajduje się po .html czyli: strona,.html?strona=x
Berg
Nie da się (raczej), przy stosowaniu get w formularzach zawsze dokleja wartości na końcu. Jeśli stosujesz mod_rewrite i chcesz mieć piękne linki to masz dwa wyjścia:

- post w formularzach, get jedynie w linkach
- Napisać kod w JS który przy wysyłaniu formularza będzie pobierał wybraną pozycję i po jej rozpoznaniu przeładowywał na wybraną stronę. Niestety wada jest taka, że użytkownik który wyłączy JS wyśle formularz z doklejeniem zmiennych na końcu.

Jeśli patrzeć pod kątem SEO to nie wiem czy boty wyszukiwarek są na tyle rozwinięte aby przetwarzać formularze (jeśli nie to po prostu strony te nie zostaną zindeksowane).
woj_tas
Możesz jeszcze uzyć header-a. Pobrać zmienną z geta i przekierować na właściwą stronę:
  1. <?php
  2. $zmienna = htmlspecialchars($_GET['zmienna']);
  3. header("Location: strona".$zmienna.".html");
  4. ?>
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.