Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przyjazne URLe a instrukcje warunkowe..
Volume
post 26.04.2005, 10:40:01
Post #1





Grupa: Zarejestrowani
Postów: 283
Pomógł: 11
Dołączył: 11.10.2004
Skąd: 3c

Ostrzeżenie: (10%)
X----


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.

Ten post edytował Volume 26.04.2005, 10:43:37
Go to the top of the page
+Quote Post
cudny
post 26.04.2005, 10:48:27
Post #2





Grupa: Zarejestrowani
Postów: 387
Pomógł: 66
Dołączył: 31.03.2005
Skąd: Kielce

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


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. ?>


--------------------
..::: Jak pomogłem to kliknij pomógł. Tak rzadko używacie tej opcji :( :::..
Go to the top of the page
+Quote Post
Volume
post 26.04.2005, 12:54:28
Post #3





Grupa: Zarejestrowani
Postów: 283
Pomógł: 11
Dołączył: 11.10.2004
Skąd: 3c

Ostrzeżenie: (10%)
X----


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?...
Go to the top of the page
+Quote Post
splatch
post 26.04.2005, 16:58:30
Post #4





Grupa: Zarejestrowani
Postów: 487
Pomógł: 7
Dołączył: 7.01.2004
Skąd: Warszawa

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


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. ?>


Ten post edytował splatch 26.04.2005, 17:27:05


--------------------
Łukasz Dywicki
Independent Java and open source software consultant.
Blog - Java, OSGi, integracja oprogramowania..
Go to the top of the page
+Quote Post
Volume
post 26.04.2005, 17:40:58
Post #5





Grupa: Zarejestrowani
Postów: 283
Pomógł: 11
Dołączył: 11.10.2004
Skąd: 3c

Ostrzeżenie: (10%)
X----


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.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:14