Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Przyjazne urle :]
Forum PHP.pl > Forum > Przedszkole
Roguś
Poczytalem troche o tym lecz do końca nie łape. Wziąłem kod z jednej stronki:
  1. <?php
  2. $tablicaURL = array();
  3. $_SERVER['PATH_INFO'] = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] : $tablicaURL;
  4. $tablicaURL = explode( '/', substr( $_SERVER['PATH_INFO'], 1) );
  5. ?>


i pisze zebym go includował do strony i pod tym dał

  1. <?php
  2. $skladnik1 = easyURL(0, 0);
  3. $skladnik2 = easyURL(0, 1);
  4. ?>


I teraz pytania. Czy wszystkie linki na stronie mam ręcznie zmieniać ? Czy mam dawać je w formie : http://www.mojastrona.pl/cos/wartosc/cos2/wartosc2 ? Cała strona jest wywoływana przez index.php. Musze pisać te $skadniki tylko w index.php ? Wogóle co oznaczają wartości w easyURL(0,1) ? Nie zaspecjalnie wiem jak to działa
ActivePlayer
generalnie dobrą opcją jest generowanie wszystkich linków na stronie za pomocą jednej funkcji. więc np w przypadku gdy standardowo pisałbyś
  1. <a href="index.php?klucz1=parametr1&klucz2=parametr2">link</a>

lepiej robić to w ten sposób:
  1. <a href="<?echo createLink('index', array('klucz1'=>'parametr1', 'klucz2'=>'parametr2'));?>">link</a>

wtedy w przypadku gdy chcesz zmienić wygląd wszystkich linków na stronie, nie musisz przekopywać się przez cały kod, a jedyne co robisz to zmieniasz funkcje createLink() aby generowała inne linki.

odnośnie pytania o funkcję easyURL, nie wkleiłeś tutaj jak ona wygląda więc raczej ciężko będzie pomóc
Roguś
A tak pomyliłem się. Kod:
  1. <?php
  2. function easyURL($method, $what){
  3. $easyURL = explode('/', substr($_SERVER['PATH_INFO'], 1));
  4. if ($method == 1){
  5. $what = array_search($what, $easyURL);
  6. if ($what !== false) $what++;
  7. else exit();
  8. }
  9. return $easyURL[$what];
  10. }
  11. ?>
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.