[php] o co chodzi ? dzia³a³o i przesta³o..

       

Podstrony


telcocafe

pomimo niezbyt powa¿nego tematu to doi¶c powa¿ny problem.

otórz postanowi³em zrobiæ dal kolegi 'system' w php umo¿liwiaj±cy ocenê/komentowanie/zg³aszanie bugów dla jego gierek. wiêkszo¶c funkcji umie¶ci³em w pliku nazwijmy to ¼ród³owym, tak, aby móg³ powstawaiæ odpowiednie elementy na swoja stronê wywo³uj±c tylko odpowiednie funkcje.

Gdy skoñczy³em sam± warstwê dla odwiedzaj±cych zabra³em sie za panel administracyjny a funkcje z nim zwi±zane dalej dopisywa³em do pliku ¼ród³owego.

i oto co siê sta³o: panel administracyjny choæ nieskoñczony dzia³±, ale sama strona nie [przesta³a]. php koñczy jej wykonywanie na include(-tu plik ¼ród³owy-), i nie wykouje nic ponad to - nie wywouje kolejnych funkcji. :( dodam tylko, ¿e w panelu administrcyjnym jest tak samo do³aczony plik z funkcjami i wszytsko dzia³a. je¶li dopisaæ co¶ przed wspomnianym include w zwyk³ej stronie wykona sie..ale nic co jest po.. :pomocy:

wydaje mi sie to conajmniej dziwne, ale moze kto¶ wie o co chodzi... wszytskie funkcje sa poprawn epod wzgl±dem sk³±dni - jak pisa³em dzia³ay a nie by³y modyfikowane..

jeszce raz :pomocy:

EDIT: doszed³em do tego, ¿e jedna z funkcji 'blokuje' wykonywanie kolejnych instrukcji... ale nie zwraca ¿adnych b³edów, nie ma te¿ w niej petli, które og³yby siê wykonywaæ w nieskoñczono¶æ...
U¿ytkownik Azrael.pl edytowa³ ten post 06 lipiec 2005, 07:38


poka¿ ten fragment kodu, mo¿e blokuje tam no. funkcja exit; albo die() niew³a¶ciewie uzyta (np. przy wywo³ywaniu z bazy mysqla wywo³uje die() albo exit, bo nie ma ogranicznika or)...
to tylko przypuszczenia...

1. z tego co wiem na forum nie ma wró¿ek :| jak mamy daæ Ci rozwi±zanie jak nie mamy kodu ?
2. przewa¿nie funkcje usera/admina umieszcza siê w innych plikach

function showProjects($katalog, $typ, $nazwa_stylu ,$nazwa_stylu_komorki) { if(@pendir($katalog)==false) mkdir($katalog); $folder=opendir($katalog);  if (!isset($nazwa_stylu_komorki))  $nazwa_stylu_komorki="";  switch ($typ)       {       case "t":        echo"<table class=\"$nazwa_stylu\" border=\"2\">\n<tr>";        break;       case "d" :        echo"<div class=\"$nazwa_stylu\">\n";        break;       case "list" :        echo"<ul class=\"$nazwa_stylu\">\n";        break;       case ""  :        echo"\n";        break;       } while($plik = readdir($folder))                     {                      if($plik !="." && $plik !=".." && $plik !="" )                      {                      if (is_dir($katalog."/".$plik)==true)                         {                         if (@fopen($katalog."/".$plik."/"."conf.txt", r) )                          {                          //odczytanie wszytskich potrzebnych danych z pliku konfiguracujnego projektu                          $plikCfg=file($katalog."/".$plik."/"."conf.txt") ;                          $nazwa=$plikCfg[0];                          $hint=$plikCfg[1];                          //koniec czytania z pliku                          //wybór formatowania ca³o¶ci  switch ($typ)       {       case "t":        echo"<tr><td class=\"$nazwa_stylu_komorki\"><a href=\"index.php?show=$plik\" title=\"$hint\">$nazwa</a></td></tr>\n" ;        break;       case "d" :        echo"<br><a href=\"index.php?show=$plik\" title=\"$hint\">$nazwa</a><br>\n";        break;       case "list" :        echo"<li><a href=\"index.php?show=$plik\" title=\"$hint\">$nazwa</a><br>\n";        break;       case ""  :        echo"<a href=\"index.php?show=$plik\" title=\"$hint\">$nazwa</a><br>\n";        break;       }                          }                         }                      }                     }; switch ($typ)       {       case "t":        echo"</table>\n";        break;       case "d" :        echo"</div>\n";        break;       case "list"  :        echo"</ul>\n";        break;       case ""  :        echo"\n";        break;       } };

oto ten kod- chwile mi zajê³o zanim sprawdzi³em wszytskie f. ;)



switch ($typ)      {      case "t":       echo"</table>\n";       break;      case "d" :       echo"</div>\n";       break;      case "list"  :       echo"</ul>\n";       break;      case ""  :       echo"\n";       break;      } };

1. z tego, co s³ysza³em, w swiych'u mo¿na uzywaæ tylko liczb (ale nie jestem tego pewnien).
2. nie podoba mi siê case "" - zast±pi³ bym to przez default: , ale mo¿e jest to niezbêdne do dzia³ania.
3. nie lubiê dzia³añ na plikach :P

AD 1 & 2 - zmieni³em na liczby i dalej nic
AD 3 - niestety na serwerze na którym to ma byæ nie ma mysql'a :P

no to ja za bardzo nie pomogê (nienawidzê plików i grafik <w¶ciek³y>)


function showProjects($katalog, $typ, $nazwa_stylu ,$nazwa_stylu_komorki) { if(@pendir($katalog)==false) mkdir($katalog); $folder=opendir($katalog);  if (!isset($nazwa_stylu_komorki))  $nazwa_stylu_komorki="";  switch ($typ)       {       case "t":        echo"<table class=\"$nazwa_stylu\" border=\"2\">\n<tr>";        break;       case "d" :        echo"<div class=\"$nazwa_stylu\">\n";        break;       case "list" :        echo"<ul class=\"$nazwa_stylu\">\n";        break;       case ""  :        echo"\n";        break;       } while($plik = readdir($folder))                     {                      if($plik !="." && $plik !=".." && $plik !="" )                      {                      if (is_dir($katalog."/".$plik)==true)                         {                         if (@fopen($katalog."/".$plik."/"."conf.txt", r) )                          {                          //odczytanie wszytskich potrzebnych danych z pliku konfiguracujnego projektu                          $plikCfg=file($katalog."/".$plik."/"."conf.txt");                          $nazwa=$plikCfg[0];                          $hint=$plikCfg[1];                          //koniec czytania z pliku                          //wybór formatowania ca³o¶ci  switch ($typ)       {       case "t":        echo"<tr><td class=\"$nazwa_stylu_komorki\"><a href=\"index.php?show=$plik\" title=\"$hint\">$nazwa</a></td></tr>\n" ;        break;       case "d" :        echo"<br><a href=\"index.php?show=$plik\" title=\"$hint\">$nazwa</a><br>\n";        break;       case "list" :        echo"<li><a href=\"index.php?show=$plik\" title=\"$hint\">$nazwa</a><br>\n";        break;       case ""  :        echo"<a href=\"index.php?show=$plik\" title=\"$hint\">$nazwa</a><br>\n";        break;       }                          }                         }                      }                     }; switch ($typ)       {       case "t":        echo"</table>\n";        break;       case "d" :        echo"</div>\n";        break;       case "list"  :        echo"</ul>\n";        break;       case ""  :        echo"\n";        break;       } };

oto ten kod-  chwile mi zajê³o zanim sprawdzi³em wszytskie f. ;)

o znalaz³em :P
b³±d by³ tu:
if(@pendir($katalog)==false) mkdir($katalog);
a opowinnobyæ ofkoz :
if(@opendir($katalog)==false) mkdir($katalog); - a ¿e b³êdy nie by³y wy¶wietalne php po prosty stawa³

Dziêki za wszystko ;]
temat do zamkniêcia;]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.