Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z if-else:((((
Forum PHP.pl > Forum > Przedszkole
v1t4n
mam kod
  1. <?
  2. $roko=date("Y");
  3. $miecho=date("n");
  4. $miechn = array(1=>"Styczeń",2=>"Luty",3=>"Marzec",4=>"Kwiecień",5=>"Maj",6=>"Czerwiec",7=>"Lipiec",
  5. 8=>"Sierpień",9=>"Wrzesień",10=>"Październik",11=>"Listopad",12=>"Grudzień");
  6. $rok=2005;
  7. $miech=7;
  8. do
  9. {
  10. while($miech<$miecho)
  11. {
  12. if(is_dir("C:/usr/krasnal/www/gazetka/".$rok."/".$miech) == 'true')
  13. {
  14. echo ("<a href=#>$miechn[$miech] $rok</a><br>");
  15.  
  16. }
  17. $miech++;
  18. }
  19. $rok++;
  20. }while($rok<$roko)
  21. ?>

no ale wiadomo pasuje zeby byl uniwersalny, wiec dodaje:
  1. <?php
  2.  
  3. else
  4. echo ("Brak numerów w archiwum");
  5.  
  6. ?>

co mniej wiecej wyglada tak:
  1. <?
  2. $roko=date("Y");
  3. $miecho=date("n");
  4. $miechn = array(1=>"Styczeń",2=>"Luty",3=>"Marzec",4=>"Kwiecień",5=>"Maj",6=>"Czerwiec",7=>"Lipiec",
  5. 8=>"Sierpień",9=>"Wrzesień",10=>"Październik",11=>"Listopad",12=>"Grudzień");
  6. $rok=2005;
  7. $miech=7;
  8. do
  9. {
  10. while($miech<$miecho)
  11. {
  12. if(is_dir("C:/usr/krasnal/www/gazetka/".$rok."/".$miech) == 'true')
  13. {
  14. echo ("<a href=#>$miechn[$miech] $rok</a><br>");
  15. else
  16. echo ("Brak numerów w archiwum");
  17. }
  18. $miech++;
  19. }
  20. $rok++;
  21. }while($rok<$roko)
  22. ?>

po czym pokazuje sie nastepujacy komunikat (jezeli ten napis ma byc w kodzie to przepraszam ale uwazam ze tego i tak jest wystarczajaco duzo...):

Parse error: parse error in c:\usr\krasnal\www\gazetka\archiwum.php on line 19

co do linijki 19 to jest to akurat linkijka
  1. <?php
  2.  
  3. echo ("Brak numerów w archiwum");
  4.  
  5. ?>


za pierona nie moge pojac na czym polega blad!

czy jest kots w stanie pokazac mi poprawny kod albo poprawke do tego?
kszychu
Masz else wewnątrz klamer od if. Popraw to i umieść else po klamrze zamykającej blok if.
Masz taką składnię:
if
{
.......
else .......
}
v1t4n
chcialem skobinowac skrypt ktory po zaladowaniu na strone pokazywal najnowszy numer gazetki, wiec napisalem:
  1. <?
  2. $roko=date("Y");
  3. $miecho=date("n");
  4. if(file_exists("C:/usr/krasnal/www/gazetka/$roko/$miecho/main.php") == 1)
  5. {
  6. include("C:/usr/krasnal/www/gazetka/$roko/$miecho/main.php");
  7. }
  8. else
  9. echo ("Numer w przygotowaniu");
  10. ?>

wszystko dziala elegancko:)
tak na marginesie zeby nie myslec nad tym skrytpem bo moze i latwy jest pobiera on aktualna date i otwiera folder ktory nosi nazwe aktualnego roku po czym otwiera folder z numerem aktualnego miesiaca np. 2005/09.

schody zaczely sie gdy chcialem umiescic link do powiedzmy starszego numeru...
moj projekt:
  1. <?
  2. $roko=date("Y");
  3. $miecho=date("n");
  4. $jer=$_GET["rok"];
  5. $miesiac=$_GET["miesiac"];
  6. if(file_exists("C:/usr/krasnal/www/gazetka/$roko/$miecho/main.php") == 1 !! $jer == "")
  7. {
  8. include("C:/usr/krasnal/www/gazetka/$roko/$miecho/main.php");
  9. }
  10. else
  11. include("C:/usr/krasnal/www/gazetka/$jer/$miesiac/main.php");
  12.  
  13. else
  14. echo ("Numer w przygotowaniu");
  15. ?>

nie zauwazylem jakiegos braku w " albo ; i sam nie wiem co jest pokazuje sie Parse Error w linijce 10 czyli na otwarta klamre...
Czy ktos moze wie jaki blad popelnilem?
nospor
czlowieku , ty weź se poczytaj o if i else a nie zasypujesz forum takimi topicami. widziales kiedys dwea else pod rząd? Bo ja widze u ciebie. noby co to ma byc. No i co to za operator exclamation.gif?

Pozatym takie wątki się kontynuuje a nie zaklada nowe. lacze.
v1t4n
Bardzo przepraszam ale nie pomyslalem wczesniej...
Pigula
a mnie zastanawia to:
  1. <?php
  2. include("C:/usr/krasnal/www/gazetka/$roko/$miecho/main.php");
  3. ?>

jezeli odpalasz to z localhosta to chyba powinno byc $roko/$miecho/main.php jezeli to wrzucisz na serwer to nie bedzie dzialac.
v1t4n
1. jezeli chodzi Ci od pelna lokalizacje pliku to jest ona tylko dlatego ze byc musi dla tej komendy... na razie strone mam na dysku wiec wpisane jest co ma byc smile.gif jak zaladuje na serwer to zmienie

2. znalazlem rozwiazanie tego problemu, jezeli bylby ktos zainteresowany to podaje:
  1. <?
  2. $roko=date("Y");
  3. $miecho=date("n");
  4. $jer=$_GET["rok"];
  5. $miesiac=$_GET["miesiac"];
  6. if($jer > 0)
  7. {
  8. if(file_exists("C:/usr/krasnal/www/gazetka/$jer/$miesiac/main.php") == 1)
  9. {
  10. include("C:/usr/krasnal/www/gazetka/$jer/$miesiac/main.php");
  11. }
  12. else
  13. echo ('<font color="red"><b>Błąd!! Nie można odczytać danego numeru!!</b></font>');
  14. }
  15. else
  16. if(file_exists("C:/usr/krasnal/www/gazetka/$roko/$miecho/main.php") == 1)
  17. {
  18. include("C:/usr/krasnal/www/gazetka/$roko/$miecho/main.php");
  19. }
  20. else
  21. echo ("Numer w przygotowaniu...");
  22.  
  23. ?>


Objasnienie:
1. skrypt sprawdza czy w adresie jest podany rok do ktoregos numeru z archiwum:
- jezeli jest plik z archiwum to wtedy laduje ow plik
- jezeli nie ma pliku z szukanym numerem pokazuje sie blad "Błąd!! Nie można odczytać danego numeru!!
"
2. jezeli natomiast nie ma zapytania o jakikolwiek archiwalny numer to wtedy:
- sprawdza czy aktualny numer jest dostepny i jezeli tak to laduje ow numer
- jezeli aktualny numer jest w trakcie budowy (glowny plik danego numeru nie istnieje lub ma inna nazwe tongue.gif ) pokazuje sie komunikat "Numer w przygotowaniu..."
ActivePlayer
Cytat
1. jezeli chodzi Ci od pelna lokalizacje pliku to jest ona tylko dlatego ze byc musi dla tej komendy...
oj kręcisz kręcisz... Pigula ma rację.
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.