Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] wykrywanie błędów
lamcpp
post
Post #1





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

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


witam, stworzyłem skrypt dynamicznego menu, w którym wszystkie pozycje wczytywane są z bazy danych, dodatkowo menu jest 6 poziomowe - dla każdej kategorii i dla każdego poziomu występują dodatkowe zagłębienia. No i właśnie, menu działa prawidłowo, wszystkie pozycje właściwie się wczytują, jest tylko jedno ale...skrypt działa bardzo wolno, po odpaleniu go na localhoście dostaję po parunastu sekundach czekania taki komunikat:
  1. Skrypt na tej stronie może być zajęty bądź przestał odpowiadać. Można kontynuować ten skrypt bądz przerwać (...)

Po wybraniu kontynuuj, jeszcze raz pokazuje mi się powyższy komunikat, znów wybieram: "kontynuuj" i skrypt się normalnie uruchamia.
Podejrzewam, że taki stan rzeczy spowodowany jest jakimś błędem, którego nie wykrył interpreter PHP, wydaje mi się że jest to błąd związany z niedomknięciem którejś z
  1. <li> albo <ul>
bo w ten własnie sposób zostało zbudowane menu. Jednak kod jest tak rozległy(około 700 linijek) że cięzko mi wyłapać ten błąd. I tu pytanie, czy php dysponuje jakimiś metodami, sposobami, które ułatwią mi znalezienie tego błędu? ewentualnie jak proponujecie sobie z tym poradzić? kiedyś ucząc się C++ kompilatory miały wbudowany tryb debugowania, przez co było dużo łatwiej, ale w php w swoim PsPADzie (w którym tworze kod PHP) nie widzę nic takiego:|
Go to the top of the page
+Quote Post
b4x
post
Post #2





Grupa: Zarejestrowani
Postów: 658
Pomógł: 95
Dołączył: 20.12.2005
Skąd: N54,35° E18,63° (Gdańsk)

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


Ale to nie wina PHP, zdaje mi się że jest to wina JavaScript - masz jakiś skrypt w JS'ie, pętla czy coś?


--------------------
Go to the top of the page
+Quote Post
darko
post
Post #3





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Potrzebujesz debuggera php z wbudowanym profilerem, np. XDebug


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
lamcpp
post
Post #4





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

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


tak sam skrypt menu to jest javascript, w php zbudowałem jak ma wyglądać to menu, pozycje itp i wczytywanie pozycji z bazy
Go to the top of the page
+Quote Post
b4x
post
Post #5





Grupa: Zarejestrowani
Postów: 658
Pomógł: 95
Dołączył: 20.12.2005
Skąd: N54,35° E18,63° (Gdańsk)

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


Mógłbyś pokazać ten skrypt JS'a albo podać jakiegoś linka?


--------------------
Go to the top of the page
+Quote Post
lamcpp
post
Post #6





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

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


  1. <script type="text/javascript">
  2. var menuids=["sidebarmenu1"]
  3.  
  4. function initsidebarmenu(){
  5. for (var i=0; i<menuids.length; i++){
  6. var ultags=document.getElementById(menuids[i]).getElementsByTagName("ul")
  7. for (var t=0; t<ultags.length; t++){
  8. ultags[t].parentNode.getElementsByTagName("a")[0].className+=" subfolderstyle"
  9. if (ultags[t].parentNode.parentNode.id==menuids[i]) //if this is a first level submenu
  10. ultags[t].style.left=ultags[t].parentNode.offsetWidth+"px" //dynamically position first level submenus to be width of main menu item
  11. else //else if this is a sub level submenu (ul)
  12. ultags[t].style.left=ultags[t-1].getElementsByTagName("a")[0].offsetWidth+"px" //position menu to the right of menu item that activated it
  13. ultags[t].parentNode.onmouseover=function(){
  14. this.getElementsByTagName("ul")[0].style.display="block"
  15. }
  16. ultags[t].parentNode.onmouseout=function(){
  17. this.getElementsByTagName("ul")[0].style.display="none"
  18. }
  19. }
  20. for (var t=ultags.length-1; t>-1; t--){ //loop through all sub menus again, and use "display:none" to hide menus (to prevent possible page scrollbars
  21. ultags[t].style.visibility="visible"
  22. ultags[t].style.display="none"
  23. }
  24. }
  25. }
  26.  
  27. if (window.addEventListener)
  28. window.addEventListener("load", initsidebarmenu, false)
  29. else if (window.attachEvent)
  30. window.attachEvent("onload", initsidebarmenu)
  31.  
  32. </script>
  33.  
Go to the top of the page
+Quote Post
darko
post
Post #7





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Ke?

Cytat
var menuids=["sidebarmenu1"]


Co to jest?


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
lamcpp
post
Post #8





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

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


główny znacznik ul
od niego rozpoczyna się menu:
  1. <div class="sidebarmenu">
  2. <ul id="sidebarmenu1">
  3. ....
  4. </ul>
  5. </div>
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 Aktualny czas: 20.08.2025 - 07:42