Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przyjazne URLe a instrukcje warunkowe..
Forum PHP.pl > Forum > PHP
Volume
mam pewien problem..
  1. <?php
  2. $arrParams = array();
  3. $strDefaultPath = '/index';
  4. $_SERVER['PATH_INFO'] = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] : $strDefaultPath;
  5. $arrParams = explode( '/', substr( $_SERVER['PATH_INFO'], 1) );
  6. ?>
no i mam taki skrypt, który to pomga stworzyć przyjazne adresy. I wszystko jest elegancko jesli np. chodzi o instrukcje switch do której wstawiam sobie tablice $arrParams[X] gdzie X jest odpowiednio kolejna zmeinna po adrescie, czyli dla np. X=0 jest to piersza zmienna po adresie dla X=1 druga itd.. I tak ze Switchem nie maiłe problemu tam ustwaiam sobie identyfikator w 'case' i jest glanc, ale jak to zrobić jeśli mam np. taką instrukcje if:
  1. <?php
  2. if($w=='ppp')
  3. {
  4. echo 'cos tam';
  5. }
  6. else if($w=='ccc')
  7. {
  8. echo 'cos innego';
  9. }
  10. ?>
No i jak widać mam dwie wartosci dla powiedzmy 2 zmeinnej po adresie wiec nie moge w instrukcjach zastosować po prostu $arrParams[1] bo wtey bedzie raz, ze oczywiscie ignorowac zmienna. dwa - nie bedzie rozrozniac wartosci i zapewne wykona domyslnie pierwsza instrukcje.
Czy ktos wie jak to przerobic?

Ps. jak cos to czytalem ten artykul http://php.pl/index.php/phppl/artykuly/pom.../przyjazne_urle i niestety nie wiem co dalej.
cudny
Nie wiem czy dobrze cie zrozumialem ale moze tak:

  1. <?php
  2.  
  3. if($w != '')
  4. {
  5. if($w == 'ppp')
  6. {
  7. print 'Cos tam'.&#092;"<BR>\";
  8. };
  9.  
  10. if($w == 'ccc')
  11. {
  12. print 'Cos tam innego'.&#092;"<BR>\";
  13. };
  14. };
  15.  
  16. ?>
Volume
To troche nie w tym rzecz.
Tu trzeba jakos zastosowac tablice $arrParams[..].. Tylko jak to zrobić aby powyzsza instrukcja zachowała swoje właściwości?...
splatch
Nie wiem czy o to chodzi
  1. <?php
  2.  
  3. $w = array(); //tablica z explode
  4.  
  5. # adres home/work/websites
  6. if( $w[0] == 'home' ) {
  7.  if( $w[1] == 'work' ) {
  8. if( $w[2] == 'websites' ) { # home/work/websites
  9.  include_once 'websites.dat';
  10. } elseif( $w[2] == 'programs' ) { # home/work/programs
  11.  include_once 'programs.dat';
  12. } else { # home/work
  13.  include_once 'index_works.dat';
  14. }
  15.  } elseif( $w[1] == 'cos' ) { # home/cos
  16. #tutaj znowu to samo
  17.  } elseif( $w[1] == 'cos_innego' ) { # home/cos_innego
  18. #tutaj znowu cos innego
  19.  } else { 
  20. #tutaj domyslna strona dla sekcji_home
  21.  }
  22. } elseif( $w[0] == 'official' ) { # official/
  23.  include_once 'official.dat';
  24. } elseif( $w[0] == 'private' ) { # private/
  25.  include_once 'private.dat';
  26. } else { # $w[0] nie spielnia zadnego warunku (domyslna strona, badz strona bledu)
  27.  #domyslna strona
  28. }
  29. ?>
Volume
splatch dokładnie o to mi chodziło. Zupełnie nie wiem czemu ale szukałem jakiegos abstrakcyjnego rozwiązania a to wstraczyło pozmieniać moje zmeinne $w itp. na tą tablice z odpowiednią wartością. Dzieki raz jeszcze.
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.