Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Mod rewrite i zmienna GET
Forum PHP.pl > Forum > PHP
lukaszphp
Witam, otóż mam taki skrypcik (zrobiłem jako przykład):

Kod HTML:
  1.  
  2. <form action="" method="GET">
  3. <input type="text" name="imie" />
  4. <input type="submit" value="Ok" />
  5. </form>
  6.  
  7. </body>
  8. </html>


Kod PHP:
  1. <?php
  2. if ($_GET['imie'])
  3. echo $_GET['imie'];
  4. else
  5. echo "Prosze wpisac swoje imie!";
  6. ?>


Plik .htaccess
  1. Options FollowSymLinks
  2. RewriteEngine On
  3.  
  4. RewriteRule ^index/([^-]+)$ index.php?imie=$1 [L]


I teraz jak sobie wpisze ręcznie adres, np. localhost/index/lukasz, to jest ok, ale jak zrobię to za pomocą formularza efekt mam znów taki: index.php?imie=lukasz. Co zrobić, żeby od razu z formularza query string był maskowany?

Z góry dzięki i pozdrawiam,
Łukasz.
wry
jesli przesylasz cos getem do urla zostanie dodane ?zmienna=wartosc wiec zeby zachowac strukture index/imie musisz troche zakombinowac,
formularz wyslij postem (akcje ustaw na index.php),
w pliu php'a sprawdz czy zadanie bylo wyslane postem jesli tak przekieruj rzadnie na index/.$_POST['imie']
w ten sposob request uri zostanie ustawione na index/podane_imie
ciesze sie ze moglem pomoc tongue.gif
Pilsener
1. Formularz wysyła się POSTem
2. Formularz wysyła się na tą samą stronę
3. Wszystkie adresy, formularze etc. mają trafiać do jednego pliku index.php umieszczonego w katalogu głównym, dopiero na podstawie tych danych ma być preparowana odpowiednia treść. Inaczej zamęczysz się przekierowując i przesyłając dane pomiędzy plikami - po co?
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.