Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [html]początkujący sifer.pl
Forum PHP.pl > Forum > Przedszkole
sifer
witam

zacząłem się bawić html, php, js od niedawna. jeśli jest to możliwe to prosiłbym o sprawdzenie poprawności niżej zamieszczonego kodu. chodzi mi o ewentualne wyłapanie błędów początkującego. może po prostu robie coś co można zrobić prościej i wydajniej. oczywiście są to póki co same ramki gotowe do przyjęcia grafiki, skryptów itp. wiem, że jest to dopiero początek, ale lepiej odrazu dowiedzieć się o ewentualnych błędach, aniżeli potem pisać wszystko od początku.

dziękuję.

  1. <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN' 'http://www.w3.org/TR/html4/strict.dtd'>
  2. <html>
  3. <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-2'>
  4. <meta http-equiv='Content-Language' content='pl'>
  5. <title>SIFER</title>
  6. <link rel='stylesheet' href='style.css' type='text/css'>
  7. </head>
  8.  
  9.  
  10. <div id='glowne'>
  11. <table id='tabela_glowna' align="center" width='768'>
  12.  
  13.  
  14. <!-- BANER -->
  15. <tr>
  16. <td class='td_baner' colspan='3'>
  17. Tutaj bedzie baner
  18. </td>
  19. </tr>
  20. <tr>
  21. <td class='td_info' colspan='3'>
  22. Tutaj bedzie info
  23. </td>
  24. </tr>
  25.  
  26. <tr>
  27.  
  28. <!-- LEWE MENU -->
  29. <td class='td_menu_lewe' valign='top'>
  30. <div class='menu_l'>
  31. <table id='tabela_lewa_1'>
  32. <tr>
  33. <td class='tabela'>link 1</td>
  34. </tr>
  35. <tr>
  36. <td class='tabela'>link 2</td>
  37. </tr>
  38. <tr>
  39. <td class='tabela'>link 3</td>
  40. </tr>
  41. <tr>
  42. <td class='tabela'>link 4</td>
  43. </tr>
  44. </table>
  45. <br>
  46. <table id='tabela_lewa_2' width='100%'>
  47. <tr>
  48. <td class='tabela'>link 1a</td>
  49. </tr>
  50. <tr>
  51. <td class='tabela'>link 2a</td>
  52. </tr>
  53. <tr>
  54. <td class='tabela'>link 3a</td>
  55. </tr>
  56. </table>
  57. <br>
  58. <table id='tabela_lewa_3' width='100%'>
  59. <tr>
  60. <td class='tabela'>link 1a</td>
  61. </tr>
  62. <tr>
  63. <td class='tabela'>link 2b</td>
  64. </tr>
  65. <tr>
  66. <td class='tabela'>link 3c</td>
  67. </tr>
  68. </table>
  69. <br>
  70. to jest leve menu
  71. </div>
  72. </td>
  73.  
  74. <!-- SRODEK -->
  75. <td class='td_srodek' valign='top'>
  76. <div class='srodek'>
  77. to jest czesc srodkowa
  78. </div>
  79. </td>
  80.  
  81. <!-- PRAWE MENU -->
  82. <td class='td_menu_lewe' valign='top'>
  83. <div class='menu_prawe'>
  84. <table id='tabela_prawa_1'>
  85. <tr>
  86. <td class='tabela'>link 1</td>
  87. </tr>
  88. <tr>
  89. <td class='tabela'>link 2</td>
  90. </tr>
  91. <tr>
  92. <td class='tabela'>link 3</td>
  93. </tr>
  94. </table>
  95. <br>
  96. <table id='tabela_prawa_2' width='100%'>
  97. <tr>
  98. <td class='tabela'>link 1a</td>
  99. </tr>
  100. <tr>
  101. <td class='tabela'>link 2b</td>
  102. </tr>
  103. <tr>
  104. <td class='tabela'>link 3c</td>
  105. </tr>
  106. </table>
  107. <br>
  108. to jest prave menu
  109. </div>
  110.  
  111. </td>
  112.  
  113. </tr>
  114. <!-- STOPKA -->
  115. <tr>
  116. <td class='td_stopka' valign='top' colspan='3'>
  117. Tutaj bedzie stopka
  118. </td>
  119.  
  120. </div>
  121.  
  122. </body>
  123. </html>
qrees
http://validator.w3.org/
sifer
poprawiłem sporo w kodzie w poprzednim poście

dziękuję za podpowiedź strona okazała się bardzo przydatna. z 40-paru błędów został mi tylko jeden, co wydaje mi się całkiem niezłym osiągnięciem jak na pierwszy raz.

przy okazji chciałbym spytać o ten kawałek kodu:

  1. <table id='tabela_glowna' align="center" width='768'>


mianowicie cały czas mam problem z (align="center") najwyraźniej nie powinien on występować w dobrze napisanym kodzie html-a. stąd moje pytanie, jakim poleceniem mogę go zastąpić? chciałbym by cała tabela znajdowała się na środku a nie z lewej strony. błąd zapewne trywialny ale potrzebuje pomocy.

dzięki
grzesiek_g
W dobrze napisanym kodzie nie powinno być wogóle tabelki która buduje nam layout. Ale ok, na początek zrób na tabelce, później http://kurs.browsehappy.pl/ i możesz przepisać to na układ na warstwach, wg obecnych standardów.
Wyśrodkujesz w ten sposób w css:
  1. #tabela_glowna {
  2. width:768px;
  3. margin:0 auto;
  4. }
Maxik
Ustaw to w css.
potreb
Cytat(grzesiek_g @ 14.01.2008, 23:11:02 ) *
W dobrze napisanym kodzie nie powinno być wogóle tabelki która buduje nam layout. Ale ok, na początek zrób na tabelce


Wystarczy ze zastosujesz mniej tabelek, bo cosik za duzo jest tam ich
rodi83
super pomogło smile.gif dziękuję

co do XHTML właśnie zastanawiałem się nad nim zanim zabrałem się za tą stronę. od jutra przysiadam do kursu który podałeś i postaram się odezwać za klika dni ze stroną zrobioną już na warstwach. jakby co wiem gdzie pytać.

jeszcze raz dziękuję za pomoc
sifer
to wyżej to moje wypociny tylko nie zalogowałem się :]

aha co się tyczy ilości tabelek to zmniejszą się radykalnie jak podłączę pod to wszytko php. wtedy kilka pętli powinno zmniejszyć liczbę tabelek. teraz raczej nie widzę gdzie można by ich było trochę wyciąć. może czegoś nie widzę?
potreb
Stosowanie znaczników p div li span w tym ci pomoże. Tylko więcej zabawy w css
sifer
ok jak powiedziałem tak zrobiłem. zacząłem zabawe div-ami i css. wyszło z tego coś takiego:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <title>SIFER</title>
  4. <link rel="stylesheet" href="style.css" type="text/css" />
  5. </head>
  6.  
  7. <div id="div_glowny">
  8.  
  9. <!-- SEKCJA BANER -->
  10. <div id="div_baner">
  11.  
  12. </div>
  13.  
  14. <!-- SEKCJA INFO -->
  15. <div id="div_info">
  16.  
  17. </div>
  18.  
  19. <!-- SEKCJA MENU LEWE -->
  20. <div id="div_lewy">
  21.  
  22. </div>
  23.  
  24. <!-- SEKCJA MENU PRAWE -->
  25. <div id="div_prawy">
  26.  
  27. </div>
  28.  
  29. <!-- SEKCJA ŚRODEK-->
  30. <div id="div_srodek">
  31. <tr>
  32. <td> TUTAJ BĘDĄ NIUSY </td>
  33. </tr>
  34. </table>
  35. </div>
  36.  
  37. <!-- SEKCJA STOPKA-->
  38. <div id="div_stopka">
  39.  
  40. </div>
  41.  
  42. </div>
  43.  
  44.  
  45. </body>
  46. </html>



jak widac kod sie bardzo uproscił i jest go nieporównywalnie mniej. aha jeszcze css

  1. /*SEKCJA BODY*/
  2.  
  3. body { background-color: #0099CC; }
  4.  
  5. /*SEKCJA DIV*/
  6.  
  7. div { margin: 0 auto; padding: 5px; border: 1px dotted black; vertical-align: top; background-color: #0099CC; }
  8.  
  9. div#div_glowny { padding: 5px 5px 5px 5px; width: 1024px; }
  10. div#div_baner { padding: 0px 0px 0px 0px; margin: 0 auto; height: 100px; width: 700px; }
  11. div#div_info { padding: 0px 0px 0px 0px; margin: 5px auto ; height: 10px; width: 700px; }
  12. div#div_lewy { margin: 0px 0px 0px 40px; float: left; padding: 0px 0px 0px 0px; width: 200px; }
  13. div#div_prawy { margin: 0px 40px 0px 0px; float: right; padding: 0px 0px 0px 0px; width: 200px; }
  14. div#div_srodek { margin: 5px 290px 5px 290px; padding: 0px 0px 0px 0px; width: auto; }
  15. div#div_stopka { padding: 0px 0px 0px 0px; margin: 5 auto; height: 10px; width: 700px; }
  16.  
  17.  
  18.  
  19.  
  20.  
  21. /*SEKCJA TABLE*/
  22.  
  23. table { border-spacing: 0px; padding: 0px 0px 0px 0px; border: 1px solid black; vertical-align: top; background-color: white; }
  24.  
  25.  
  26. /*SEKCJA TD*/
  27.  
  28. td { padding: 3px 3px 3px 3px; border: 1px solid black; vertical-align: top; background-color: white; margin: 0px 0px 0px 0px top;}
  29.  
  30. /*SEKCJA TD*/
  31.  
  32. tr { padding: 0px 0px 0px 0px; spacing: 0px 0px 0px 0px; }
  33.  
  34.  
  35. /*SEKCJE POZOSTAŁE*/
  36.  
  37. p { margin: 0px 0px 0px 0px; }
  38.  
  39. a { text-decoration: none; color: black;}



wszystko narazie idzie dobrze wiec tylko się cieszyć. mam natomias jedno pytanie: powiedzmy, że na stronie są dwa div. lewy(menu) i prawy(info) w jaki sposób zrobic tak, że div levy pozostaje niezmieniony natomiast zmienia sie tylko zawartość div prawy.

pytam bo chciałbym zaoszczędzić sobie w przyszłoci niepotrzebnej pracy. co w przypadku gdy strona zawiera 100 podstron a mi będzie trzeba zmienic zwartość div lewego? chciałbym ominać przymus ingerowania w 100 innych stron by dodać np nowy link do menu.

pozdrawiam.
loff
Pozwolę sobie podpiać sie pod ten wątek - mam nadzieje ze autor mi wybaczy ;]

Przez dłuższy czas nie interesowałem sie tworzeniem stron i teraz gdy do tego wróciłem widzę, że popularne jest tworzenie stron na divach zamiast tabelek - co tez zostało doradzone autorowi wątku. Ma to jakieś logiczne uzasadnienie czy może po prostu taki jest trend ?
sifer
na poczatku tez się nad tym zastanawiałem. dlatego polecam to przeczytać http://www.kurshtml.boo.pl/css/wstep,szablon.html ciekawie na temat i w prosty sposób.

a wracając do tematu czekam na odpowiedź :]
grzesiek_g
Cytat(sifer @ 17.01.2008, 17:22:53 ) *
pytam bo chciałbym zaoszczędzić sobie w przyszłoci niepotrzebnej pracy. co w przypadku gdy strona zawiera 100 podstron a mi będzie trzeba zmienic zwartość div lewego? chciałbym ominać przymus ingerowania w 100 innych stron by dodać np nowy link do menu.

Do tego najlepiej wykorzystać php i utworzyć sobie pliki:
header.php
footer.php
left.php

index.php
i w pliku index.php przy pomocy funkcji include ładować potrzebne pliki, oraz plik z zawartością, który będzie zawsze się zmieniał. Bardziej zaawansowane to wykorzystanie do generowania zawartości bazy danych. Przykładów znajdziesz wiele na tym forum.
sifer
dzięki za naprowadzenie. zaraz zabieram sie do roboty więc niedługo znowu się odezwę i pokaże co mi wyszło z tego wszystkiego.

co się tyczy:

Cytat(grzesiek_g @ 17.01.2008, 20:51:55 ) *
Bardziej zaawansowane to wykorzystanie do generowania zawartości bazy danych.


możesz bardziej rozwinąc tą kwestie?
grzesiek_g
Zamiast treść strony trzymać w plikach można to robić w bazie danych. Np to forum i miliony innych stron tak działa wykorzystując prostsze, jak i bardziej zaawansowane rozwiązania. W miarę nauki PHP dojdziesz do tego.

Powodzenia w nauce.
sifer
żebym był pewien, że dobrze zrozumiałem. zamiast trzymać kod jakiejś części strony, w pliku np "stopka.php" który potem dołączam do strony poprzez include to powinienem ten kod trzymać w bazie danych?

jeśli tak to przyznam szczerze, ze chyba dam sobie z tym poradze, choćnie wiem za bardzo czym się wtedy zastępuje polecenie "inlude". aha jeśli dobrze rozumiem to include('stopka.php') wstawia mi w tym miejscu gdzie jest wywołane całą zawartośc pliku stopka.php a co zrobic kiedy to nie jest plik tylko rekord w bazie?

pozdrawiam
chemik1982
masz stronke index.php w tresci tej strony masz np.
  1. <?php
  2. include('header.php');
  3. include('srodek.php');
  4. include('stopka.php');
  5. ?>


i dalej w pliku srodek.php mozesz sobie np.

  1. <?php
  2. include('tresc.php');
  3. ?>



kazdy z dolaczanych plikow moze miec swoja funkcjonalnosc. tu nie chodzi oto ze masz trzymac caly kod html w bazie odpowiedzialny za wyglad strony, chodzi oto ze masz gdzies miejsce przeznaczone na jakas tresc i wlasnie ta tresc przechowujesz w bazie, np. tresc jakiegos artykulu.
rodzielenie kodu na poszczegolne pliki pozwala zachowac porzadek.
sifer
Witam po którkiej przerwie.

Wszystkie wasze porady okazały się przydatne tak więc stronke jakoś tam powoli robię. Jednakże napotkałem pewien problem:

Mianowicie mam dwa div-y jeden w drugim:

  1. <div id='div_baner'>
  2. <div id='div_baner_button'>
  3. przykładowy text
  4. </div>
  5. </div>


css plik wyglada tak:

  1. div#div_baner { padding: 0; margin: 0 auto; height: 300px; width: 400px; vertical-align: bottom; }
  2. div#div_baner_button { padding: 0; float: right; height: 50px; width: 300px; vertical-align: bottom; }


mimo iż zawarłem tam frazę "vertical-align: bottom" ten drugi div w zaden sposób nie chce mi zejść na dół pierwszego diva.

Chciałbym w div-ie głównym umieścić kolejny, który będzie sie znajdował w prawym dolnym rogu tego pierwszego div-a.

Prosiłbym o pomoc, brakuje mi pomysłów a nie chce wracać do tabel :]

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