Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]zmiana adresu zmiennych
breadi
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 9.04.2015

Ostrzeżenie: (0%)
-----


Witam na przykładowej stronie:
www.przykład.pl?magazyn
mam następujący kod
  1. <?php
  2. <form action="" method="GET">
  3. <input name="namagazynie" type="text" value="czesci"/>
  4. <input type="submit" name="wyswietl" value="Wyświetl" />
  5. </form>
  6. ?>

Po naciśnięciu "Wyświetl" przekierowuje mnie na adres:
www.przyklad.pl?magazyn?namagazynie=czesci
Jak zrobić, żeby powyższy adres był następujący:
www.przyklad.pl?magazyn&namagazynie=czesci
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
breadi
post
Post #2





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 9.04.2015

Ostrzeżenie: (0%)
-----


Mój index.php zawiera między innymi:
  1. <a href="wszystkiemagazyny" >Wszystkie magazyny</a>
  2. <?php
  3. if(isset($_GET['wszystkiemagazyny']))
  4. {
  5. <form action="wszystkiemagazyny-" method="GET">
  6. <select name="namagazynie">
  7. <option>sprawne</option>
  8. <option>niesprawne</option>
  9. </select>
  10. <input type="submit" name="wyswietl" value="Wyświetl" />
  11. </form>
  12. if(isset($_GET['namagazynie']))
  13. {
  14. $namagazynie=$_GET['namagazynie'];
  15. $where=" WHERE namagazynie='$namagazynie'";}
  16.  
  17. $pdo->query("SELECT * FROM magazyn ".$where);
  18. foreach ($pdo as $wyniki)
  19. {
  20. echo $wyniki[0].' '.$wyniki[1].' '.$wyniki[3].'<br />';
  21. }
  22. }
  23. ?>


.htaccess:

  1. Options FollowSymLinks
  2. RewriteEngine On
  3. RewriteRule ^wszystkiemagazyny index.php?wszystkiemagazyny [L]
  4. RewriteRule ^wszystkiemagazyny-namagazynie-([^-]+)$ index.php?wszystkiemagazyny&namagazynie=$1 [L]


Problem w tym, że normalnie po naciśnięciu w wyświetl przekierowuje na adres index.php?wszystkiemagazyny?namagazynie=sprawne
a powinno być przekierowane z adresu wszystkiemagazyny-namagazynie-sprawne na index.php?wszystkiemagazyny&namagazynie=sprawne

Zrobiłem tak, do pliku index dodałem:
  1. <?php
  2. $szukaj=$_SERVER['REQUEST_URI']; //pobiera pełny adres strony
  3. $czy=strpos($szukaj, "?"); //sprawdza czy adres zawiera "?"
  4. if($czy==TRUE)
  5. {
  6. $find = array('?');
  7. $replace = array('&');
  8. $szukaj=str_replace("/logowanie/","",$szukaj); //zamiana "?" na "&"
  9. $string = str_replace($find, $replace, $szukaj);
  10. header('Location: http://przyklad.pl/'.$.../przekierowanie na nowo zamieniony adres
  11. }
  12. ?>
  13. <a href="wszystkiemagazyny" >Wszystkie magazyny</a>
  14. <?php
  15. if(isset($_GET['wszystkiemagazyny']))
  16. {
  17. <form action="wszystkiemagazyny-" method="GET">
  18. <select name="namagazynie">
  19. <option>sprawne</option>
  20. <option>niesprawne</option>
  21. </select>
  22. <input type="submit" name="wyswietl" value="Wyświetl" />
  23. </form>
  24. if(isset($_GET['namagazynie']))
  25. {
  26. $namagazynie=$_GET['namagazynie'];
  27. $where=" WHERE namagazynie='$namagazynie'";}
  28.  
  29. $pdo->query("SELECT * FROM magazyn ".$where);
  30. foreach ($pdo as $wyniki)
  31. {
  32. echo $wyniki[0].' '.$wyniki[1].' '.$wyniki[3].'<br />';
  33. }
  34. }
  35. ?>


i .htaccess:
  1. Options FollowSymLinks
  2. RewriteEngine On
  3. RewriteRule ^wszystkiemagazyny index.php?wszystkiemagazyny [L]
  4. RewriteRule ^wszystkiemagazyny([^-]+)namagazynie-([^-]+)$ index.php?wszystkiemagazyny=$1&namagazynie=$2 [L]


Jak dla mnie działa, dzieki tenloginjestzajety, pomogłeś mi.

Ten post edytował breadi 23.10.2016, 13:04:38
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 21:46