Problem z klasą - neneth - 28-10-2011
Witam,
od dłuższego czasu mam problem z kodem php. Chcę zrobić aktywne zakładki, ale wciąż wyskakuje mi pewien błąd. Pewnie to to nic trudnego, ale ja nie umiem go naprawić. Proszę o pomoc.
Oto kod:
Kod PHP: class Strona { public $zawartosc; public $slowa_kluczowe = 'maturalneABC, Korepetycje, polski, język polski, matura, testy, opracowania, lektury.'; public $przyciski = array('Strona główna' => 'glowna.php', 'Kontakt' => 'kontakt.php', 'Usługi' => 'uslugi.php', 'Mapa strony'=> 'mapa.php' ); public function _set($nazwa, $wartosc) { $this->$nazwa = $wartosc; } public function Wyswietl() { echo "<html>\n<head>\n"; $this->WyswietlTytul(); $this->Wyswietlslowa_kluczowe(); echo"</head>\n<body>\n"; $this->WyswietlNaglowek(); $this->WyswietlMenu($this->przyciski); echo $this->zawartosc; echo "</body>\n</html>\n"; } public function WyswietlSlowaKluczowe() { echo "meta name=\"keywords\" content=\"".htmlentities($this->slowa_kluczowe)."\" />"; } } ?> <?php public function WyswietlMenu($przyciski), echo "<div id='menu'> $szerokosc = 100/count($przyciski)
foreach ($przyciski as $nazwa=>$url) { $this->WyswietlPrzycisk($szerokosc, $nazwa, $url, !$this->CzyToAktualnyURL($url); ) } public function CzyToAktualnyURL($url) { if(strpos($_SERVER['PHP_SELF']. $url)==false) { return false; } else { return true; } } public function WyswietlPrzycisk($szerokosc, $nazwa, $url, $active = true) { if($active) { echo "<td width = '".htmlentities($szerokosc)."%'> <a href = '".htmlentities($url)."'> <img src = 'm-logo.gif' alt = '".htmlentities($nazwa)."' border = '0'></a> <a href = '".htmlentities($url)."'><span class='menu'>$nazwa</span></a></td>"; } else { echo "<td width = '".htmlentities($szerokosc),"%'> <img src = 'boczne-logo.gif'> <span class='menu'>$nazwa</span></td>"; } } </div>"
Chodzi o błąd syntax error, unexpected T_PUBLIC in C:\xampp\htdocs\Polski\strona.php on line 44
Błąd jest w linijce:
Kod PHP: public function WyswietlMenu($przyciski),
Będę wdzięczny za pomoc w naprawie kodu.
RE: Problem z klasą - Marys - 28-10-2011
zobacz sobie jak składnia jest "pokolorowana" Coś nie tak z " lub '
RE: Problem z klasą - Pedro84 - 28-10-2011
Masz przecież przecinek na końcu, to raz.
Dwa: brakuje Ci "; po echo "<div id='menu'>
RE: Problem z klasą - neneth - 31-10-2011
(28-10-2011, 18:35)Pedro84 napisał(a): Masz przecież przecinek na końcu, to raz.
Dwa: brakuje Ci "; po echo "<div id='menu'>
Poprawiłem kod zgodnie ze wskazówkami, ale znów pojawiają się błędy. Oto ten kod:
Kod PHP: public function WyswietlMenu($przyciski), echo "<div id='menu'>" $szerokosc = 100/count($przyciski)
foreach ($przyciski as $nazwa=>$url) { $this->WyswietlPrzycisk($szerokosc, $nazwa, $url, !$this->CzyToAktualnyURL($url); ) } public function CzyToAktualnyURL($url) { if(strpos($_SERVER['PHP_SELF']. $url)==false) { return false; } else { return true; } } public function WyswietlPrzycisk($szerokosc, $nazwa, $url, $active = true) { if($active) { echo "<td width = '".htmlentities($szerokosc)."%'> <a href = '".htmlentities($url)."'> <img src = 'm-logo.gif' alt = '".htmlentities($nazwa)."' border = '0'></a> <a href = '".htmlentities($url)."'><span class='menu'>$nazwa</span></a></td>"; } else { echo "<td width = '".htmlentities($szerokosc),"%'> <img src = 'boczne-logo.gif'> <span class='menu'>$nazwa</span></td>"; } } "</div>"
Błąd jest w linijkach:
Kod PHP: public function WyswietlMenu($przyciski),
Kod PHP: !$this->CzyToAktualnyURL($url);
Kod PHP: public function WyswietlPrzycisk($szerokosc, $nazwa, $url, $active = true)
Jeśli ktoś mógłby mi pomóc, to będę wdzięczny.
RE: Problem z klasą - Pedro84 - 01-11-2011
Chryste, to podstawy:
Kod: public function WyswietlMenu($przyciski) {
Kod: $this->WyswietlPrzycisk($szerokosc, $nazwa, $url,
!$this->CzyToAktualnyURL($url)
);
RE: Problem z klasą - neneth - 09-11-2011
Witam, trochę popracowałem nad kodem i trochę już poprawiłem, ale nadal jest coś nie tak. Proszę jeszcze o drobną pomoc w tej sprawie.
Oto ten kod:
Kod PHP: <?php class Strona { public $zawartosc; public $slowa_kluczowe = 'maturalneABC, Korepetycje, polski, język polski, matura, testy, opracowania, lektury.'; public $przyciski = array('Strona główna' => 'glowna.php', 'Kontakt' => 'kontakt.php', 'Usługi' => 'uslugi.php', 'Mapa strony'=> 'mapa.php' ); public function _set($nazwa, $wartosc) { $this->$nazwa = $wartosc; } public function Wyswietl() { echo "<html>\n<head>\n"; $this->WyswietlTytul(); $this->Wyswietlslowa_kluczowe(); echo"</head>\n<body>\n"; $this->WyswietlNaglowek(); $this->WyswietlMenu($this->przyciski); echo $this->zawartosc; echo "</body>\n</html>\n"; } public function WyswietlSlowaKluczowe() { echo "meta name=\"keywords\" content=\"".htmlentities($this->slowa_kluczowe)."\" />"; } } ?> <?php public function WyswietlMenu($przyciski) { echo "<div id='menu'>"; $szerokosc = 100/count($przyciski);
foreach ($przyciski as $nazwa=>$url) { $this->WyswietlPrzycisk($szerokosc, $nazwa, $url, !$this->CzyToAktualnyURL($url) ); { if(strpos($_SERVER['PHP_SELF']. $url)==false) { return false; } else { return true; } } public function WyswietlPrzycisk($szerokosc, $nazwa, $url, $active = true);
{ if($active): { echo "<td width = '".htmlentities($szerokosc)."%'> <a href = '".htmlentities($url)."'> <img src = 'm-logo.gif' alt = '".htmlentities($nazwa)."' border = '0'></a> <a href = '".htmlentities($url)."'><span class='menu'>$nazwa</span></a></td>"; } else: { echo "<td width = '".htmlentities($szerokosc),"%'> <img src = 'boczne-logo.gif'> <span class='menu'>$nazwa</span></td>"; } } }; "</div>" ?>
Podkreśla mi linijki
Kod PHP: public function WyswietlMenu($przyciski) { echo "<div id='menu'>";
i
Kod PHP: public function WyswietlPrzycisk($szerokosc, $nazwa, $url, $active = true);
Będę wdzięczny za radę lub poprawę.
RE: Problem z klasą - Marys - 09-11-2011
Czy mi się wydaję czy public function WyswietlMenu... i WyswietlPrzycisk jest po za klasą?
RE: Problem z klasą - neneth - 10-11-2011
Czyli jak powinien wyglądać poprawny kod?
|