Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: $_SERVER['PATH_INFO']
Forum PHP.pl > Forum > PHP > Object-oriented programming
AndyPSV
Jak zrobić 'niceURL' skoro w php5 nie ma zmiennej serwerowej PATH_INFO ?
Chciałbym nawiązać do artykułu: http://php.pl/index.php/phppl/artyku_y/pom.../przyjazne_urle
Vengeance
zrob sobie

skrypt.php
  1. <?php
  2. ?>


www.strona.com/skrypt.php?zmienna1=aaa&zmiennab=bbb [enter]
i sprawdz w tabelkach na gorze ktora zmienna bardziej podoba ci sie parsowac aby otrzymac potrzebne dane.
AndyPSV
Napisałem coś takiego:

  1. <?php
  2. $path_info = array();
  3. $url_array = array();
  4.  
  5. $path_info = explode('&', $_SERVER['QUERY_STRING']);
  6. $url_parts = count($path_info);
  7.  
  8. for($i = 0; $i < $url_parts; $i++) {
  9. $url_array = explode('=', $path_info[$i]);
  10. }
  11.  
  12. echo '<pre>';
  13. var_export($path_info);
  14. echo '</pre>';
  15.  
  16. echo '<br><br>';
  17. echo '<pre>';
  18. var_export($url_array);
  19. echo '</pre>';
  20. ?>


Jednak po wpisaniu do przeglądarki:
script.php?daasddas=12&sdaasdsad=2&dsaddasd=42342

otrzymuje:

Kod
array (
  0 => 'daasddas=12',
  1 => 'sdaasdsad=2',
  2 => 'dsaddasd=42342',
)



array (
  0 => 'dsaddasd',
  1 => '42342',
)


Co jest z tą pętlą nie tak ?
MoD
Po 1. Nadpisujesz tablicę $url_array. Zapisuj do $url_array[], to dołączy jako nowy element tablicy

Po 2. Lepiej użyć foreach" title="Zobacz w manualu PHP" target="_manual, w końcu do tego jest stworzona.
AndyPSV
Dzięki, Vengeance juz podal rozwiazanie na GG:

  1. <?php
  2. $out = array();
  3.  
  4. $vars = explode('&', $_SERVER['QUERY_STRING']);
  5. while(list(, $string) = each($vars)) {
  6. list($key, $var) = explode('=', $string);
  7. $out[$key] = $var;
  8. }
  9.  
  10.  
  11. echo '<pre>';
  12. var_export($out);
  13. echo '</pre>';
  14.  
  15. ?>


Dzięki Vee !
Pozdrawiam !
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.