Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z przykładem z ks. php mysql vademecum profesjonalisty
Forum PHP.pl > Forum > Przedszkole
-smiesznylolek-
przerabiam sobie powoli ww ksiazke, i podczas przerabiania jednego z przykładów, nie do końca mi działa.
Pojawia mi się następujący błąd:
Fatal error: Call to undefined method Strona::WyswietlMenu() in D:\xampp\htdocs\rozdzial_06\strona.php on line 38
Kombinowałem troche ale nic nie wykombinowałem tutaj umieszczam kod (linijka 38 to ta pogrubiona)
prosił bym o wytlumaczenie co tu jest nie tak
  1. class Strona
  2. {
  3.  
  4. // atrybuty klasy Strona
  5. public $zawartosc;
  6. public $tytul = "tytul";
  7. public $slowa_kluczowe = "slowa kluczowe";
  8. public $przyciski = array("Strona główna" => "glowna.php",
  9. "Kontakt" => "kontakt.php",
  10. "Usługi" => "uslugi.php",
  11. "Mapa strony" => "mapa.php"
  12. );
  13. // operacje klasy Strona
  14.  
  15. public function __set($nazwa, $wartosc)
  16. {
  17. $this->$nazwa = $wartosc;
  18. }
  19.  
  20. public function Wyswietl()
  21. {
  22. echo "<html>\n<head>\n";
  23. $this->WyswietlTytul();
  24. $this->WyswietlSlowaKluczowe();
  25. $this->WyswietlStyle();
  26. echo "</head>\n<body>\n";
  27. $this->WyswietlNaglowek();
  28. $this->WyswietlMenu($this->przyciski);
  29. echo $this->zawartosc;
  30. $this->WyswietlStopke();
  31. echo "</body>\n</html>\n";
  32. }
  33.  
  34. public function WyswietlTytul()
  35. {
  36. echo "<title> $this->tytul </title>";
  37. }
  38.  
  39. public function WyswietlSlowaKluczowe()
  40. {
  41. echo "<meta name=\"keywords\" content=\"".$this->slowa_kluczowe."\" />";
  42. }
  43.  
  44. public function WyswietlStyle()
  45. {
  46. ?>
  47.  
  48. <?php
  49. }
  50.  
  51. public function WyswietlNaglowek()
  52. {
  53. ?>
  54. <table width="100%" cellpadding="12" cellspacing="0" border="0">
  55. <tr bgcolor="black">
  56. <td align="left"><img src="logo.gif" /></td>
  57. <td>
  58. <h1>TLA Consulting</h1>
  59. </td>
  60. <td align="right"><img src="logo.gif" /></td>
  61. </tr>
  62. </table>
  63. <?
  64. }
  65.  
  66. public function WyswietlMenu($przyciski)
  67. {
  68. echo "<table width = \"100%\" bgcolor = \"white\" cellpadding = \"4\" cellspacing = \"4\">\n";
  69. echo " <tr>\n";
  70.  
  71. //obliczenie wielkości przycisku
  72. $szerokosc = 100/count($przyciski);
  73.  
  74. foreach ($przyciski as $nazwa=>$url)
  75. {
  76. $this->WyswietlPrzycisk($szerokosc, $nazwa, $url,
  77. !$this->CzyToAktualnyURL($url));
  78. }
  79. echo " </tr>\n";
  80. echo "</table>\n";
  81. }
  82.  
  83. public function CzyToAktualnyURL($url)
  84. {
  85. if(strpos($_SERVER['PHP_SELF'], $url)==false)
  86. {
  87. return false;
  88. }
  89. else
  90. {
  91. return true;
  92. }
  93. }
  94.  
  95. public function WyswietlPrzycisk($szerokosc, $nazwa, $url, $active = true)
  96. {
  97. if($active) {
  98. echo "<td width = \"".$szerokosc."%\">
  99. <a href = \"".$url."\">
  100. <img src = \"m-logo.gif\" alt = \"".$nazwa."\" border = \"0\"></a>
  101. <a href = \"".$url."\"><span class=\"menu\">".$nazwa."</span></a></td>";
  102. } else {
  103. echo "<td width = \"".$szerokosc."%\">
  104. <img src = \"boczne-logo.gif\">
  105. <span class=\"menu\">".$nazwa."</span></td>";
  106. }
  107. }


Wazniak96
nie <? a <?php , serwer może mieć wyłączone short tags

PS: Co to za książka, która uczy używania echo w klasach i html w php .?
-smiesznylolek-
o kurde, faktycznie... dzięki za pomoc:) taki głupi błąd, tyle się oszukałem a to taka pierdółka;/

książkę pożyczyłem od kolegi to ona .

W takim razie jaką książkę byś polecił, jeśli ta to kiszka?
-smiesznylolek-
ale co do tego htmla i echo w tej klasie, to tutaj ona jest zastosowane tylko i wyłacznie do zrobienia takiego ogólnego szablonu strony, czy to jest błąd?
Wazniak96
Kodu PHP nie powinno się mieszać z HTML/CSS, a już na pewno nie w klasie. Klasa nie powinna z założenia wyświetlać na ekran jakichkolwiek danych. Powinna je zwrócić, a dopiero w odpowiednim pliku powinieneś je wyświetlić.

Poczytaj o systemach szablonów w PHP.

PS: załóż konto.
gitbejbe
Cytat
Co to za książka, która uczy używania echo w klasach i html w php


miałes kiedyś w ręku jakąś książkę o php ? raczej wątpie, bo jakbyś miał to wiedziałbyś, że ogólnie w książakch tego typu jest dużo kodu który ma na celu przedsatwić w jak najprostrzej i zrozumiałeś formie działanie danych mechanizmów. Jakby autor książki tłumaczył wszystko godnie z systemami szablonów, to ciekawy jestem ile stron miałaby taka książka i ile osoób potrafiłoby się z niej czekokolwiek nauczyć
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.