Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> If, else...
Macieqqq
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 19.04.2007

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


Mam drobny problem...

  1. <?php
  2. if(file_exists($_GET['id']=="tytul1")){$title = 'tytul1';}
  3. if(file_exists($_GET['id']=="tytul2")){$title = 'tytul2';}
  4. if(file_exists($_GET['id']=="tytul3")){$title = 'tytul3';}
  5. if(empty($_GET['id'])){$title = 'stronastartowa';}
  6. else{$title = 'Błąd!';}
  7. ?>


Jak zrobic, aby else nie odwolywalo sie do do konkretnego if, a stanowilo wyjatek kiedy zadne if nie jest spelnione?



Z gory dzieki
Pozdrawiam
Go to the top of the page
+Quote Post
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


mozesz np cos takiego machnac

  1. <?php
  2. if(a>b){
  3. echo'tak';
  4. }else{
  5. $error[] = 1;
  6. }
  7. if(a==b){
  8. echo'tak';
  9. }else{
  10. $error[] = 1;
  11. }
  12.  
  13. if(count($error) > 0){
  14. //twoj else
  15. }
  16. ?>


*takie na szybko rozwiazanie
Go to the top of the page
+Quote Post
Macieqqq
post
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 19.04.2007

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


Ale i tak za kazdym razem uzywa sie else...
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Użyj innej konstrukcji
[php]
if(){}
elseif(){}
elseif(){}
else{}
[php]

Najlepiej jednak użyj instrukcji switch" title="Zobacz w manualu PHP" target="_manual
Go to the top of the page
+Quote Post
Macieqqq
post
Post #5





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 19.04.2007

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


Ok, dzieki Cysiaczek (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) A dlaczego switch bedzie lepsza?
Go to the top of the page
+Quote Post
skowron-line
post
Post #6





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Cytat(Macieqqq @ 31.07.2007, 14:41:58 ) *
Ale i tak za kazdym razem uzywa sie else...



yyy no racja moj blad
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #7





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Bo to właśnie switch jest stworzony dla wielu warunków - nie trzeba bez przerwy pisać ifelse(){} - jest przekrzyściej.

Pozdrawiam.
Go to the top of the page
+Quote Post
Macieqqq
post
Post #8





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 19.04.2007

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


A jak uzywajac switch zastapic ta linijke?

  1. <?php
  2. if(empty($_GET['id'])){$title = 'stronastartowa';}
  3. ?>
Go to the top of the page
+Quote Post
Kicok
post
Post #9





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Wyrzucić ją przed switcha:

  1. <?php
  2.  
  3. if( empty( $_GET['id'] ) ) {
  4. // startowa
  5. }
  6. else
  7. {
  8. switch( $_GET['id'] )
  9. {
  10. case 'tytul1': /* ... */ break;
  11. case 'tytul2': /* ... */ break;
  12.  
  13. default: $title = 'Błąd';
  14. }
  15. }
  16.  
  17. ?>
Go to the top of the page
+Quote Post

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: 22.08.2025 - 20:06