Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Fatal error: Cannot redeclare xs_switch() (previously declared in /home/
Forum PHP.pl > Forum > Gotowe rozwiązania > Systemy szablonów
Silny
Witam, mam system szablonów z phpBB ale mam problem, mianowicie wyskakuje mi taki błąd :
Cytat
Fatal error: Cannot redeclare xs_switch() (previously declared in /home/test/includes/template.php:2435) in /home/test/includes/template.php on line 2438

W czym może być błąd questionmark.gif
wookieb
pierwszy link w googlach : phpbb cannor redeclare xs_switch
Czy to było takie trudne?

Oczywiście jak pomyślisz to znajdziesz tam błąd który łatwo rozwiążesz
check_auth -> 'xs_switch'
Silny
Fatal error: Cannot redeclare class Template in /home/test/includes/template.php on line 74
wookieb
Postępujesz analogicznie tylko że używasz funkcji class_exists
Silny
Dobra zrobiłem smile.gif Wystarczyło zamienić
  1. include("top.php");
na
  1. include_once("top.php");


Jaka jest różnica czy mam
Kod
include("top.php");
include("includes/template.php");

czy
Kod
include_once("top.php");
include_once("includes/template.php");
foxbond
Korzystając z include() możesz 'wkleić' plik wiele razy, a dodatek '_once' mówi, że ten plik może być dołączony tylko raz. Czyli funkcja sprawdza czy ten plik jest 'wklejony' , jeśli nie to go dołącza.
Silny
a dlaczego jak miałem tylko
  1. include("includes/template.php");
to chodziło a jak dodałem
  1. include("top.php");
i miałem
  1. include("top.php");
  2. include("includes/template.php");
to przestało chodzić i zaczęło jak zmieniłem oba na
  1. include_once("top.php");
  2. include_once("includes/template.php");
thek
Niech zgadnę... W obu miałeś jakąś funkcję/klasę, o tej samej nazwie lub jeden plik includował się wewnątrz innego po raz drugi i parser się burzył, że dwa razy dajesz to samo? :]
Silny
Dokładnie tongue.gif

niedawno to rozkminiłem, że po zaincludowaniu innego pliku w którym ponownie za pomocą include() includowałem template.php to sie burzył, po usunięciu z pliku include() działało normalnie, to samo było po zostawieniu zamiast include() to include_once()
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-2024 Invision Power Services, Inc.