Fehlermedlung: Fatal error:

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Fraenky
Mitglied
Beiträge: 111
Registriert: 31.07.2002 13:53

Fehlermedlung: Fatal error:

Beitrag von Fraenky »

Was bedeutet diese Fehlermeldung?

Fatal error: Cannot redeclare class template in /usr/local/httpd/htdocs/kunden/***/html/includes/template.php on line 30

THX

MfG
Fraenky
Benutzeravatar
Chaze
Ehemaliges Teammitglied
Beiträge: 2035
Registriert: 31.01.2003 12:20
Wohnort: Hannover

Beitrag von Chaze »

Hast Du vielleicht eine Include Anweisung in eine Schleife eingebunden? Oder versuchst Du die template mehrmals zu includen?
by[t]e,
Chaze
!!!--> Kein Support per PN oder Mail <--!!!
Benutzeravatar
Fraenky
Mitglied
Beiträge: 111
Registriert: 31.07.2002 13:53

Beitrag von Fraenky »

also die template versuch ich gar nicht zu includen (glaub ich).
ich hab e 2 php dateien. Die eine ist eine login mit eigenem Formular aber mit actio die login.php von phpBB. Wenn ich mich einlogg und dann wieder ins phpbb Forum geh (da bin ich ja dann auch eingeloggt) und von da wieder auf meine Login, dann kommt dieser Fehler.

Hier ist der Code:

Code: Alles auswählen

define("IN_LOGIN", true);

define('IN_PHPBB', true); 
$phpbb_root_path = '../'; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata);

$username = $userdata['username'];
$user_rank = $userdata['user_rank'];

if ( $userdata['session_logged_in'] ) 
{ 
// eingeloggt
// echo $login['logged_in'];
 if ( $user_rank >= 1 )
  {
   // eingeloggt als KUMPEL
   // echo $login['kumpel'];
   include('kumpelz.php');	
  }
  else
  {
   // KEIN Kumpel
   echo die($login['no_kumpel']);	  
  }	
}
else // Nicht eingeloggt
{ 
// echo die($login['not_logged_in']);
include('form.php');
$db->sql_close(); 
}
Die $login['text'] variablen sind nur mit text gefüllt und die hab ich ma ausgelassen, damit man hier durchsieht.
Der gleiche Code ist in der kumpelz.php.
form.php enthält das Login Formular, wo actio=login.php angegeben ist. die Login.php ist die gleiche wie von phpBB. Ich habe da halt nur das verzeichniss angepasst, weil phpBB eins höher liegt:

Code: Alles auswählen

$phpbb_root_path = '../';
und das funzt alles auch bloß es kommt die Fehlermeldung, wenn ich das oben beschriebene mach.
Wenn ich aber die Kumpelz.php aufrufe, kommt die fehlermeldung nicht.(!)

hä?
Benutzeravatar
Fraenky
Mitglied
Beiträge: 111
Registriert: 31.07.2002 13:53

Beitrag von Fraenky »

also ich glaub ich weiß worans liegt..ich include ja die kumpelz.php in die index.php. (das ist das login formular)
In die kumpelz.php include ich wiederum den gleichen Code, der schon in der index.php steht.
da ich jetzt die kumpelz.php in die index.php include, müsste da 2mal der gleich code includet werden.

aber wie geh ich denn einen Umweg? kann man mit php, wenn man eingeloggt ist, sich weiterleiten lassen? index.php includet ja nur die kumpelz.php, wenn bestimmte Anweisungen erfüllt sind. Kann man das includen nicht weglassen und dafür ne weiterleitung bauen?

achja: in der kumpelz.php steht natürlich nicht include kumpelz.php...

Warte auf Antworten...
Benutzeravatar
Fraenky
Mitglied
Beiträge: 111
Registriert: 31.07.2002 13:53

Beitrag von Fraenky »

gut ich glaub ich führe selbtsgespräche..hihi :wink:

wobei wir wieder bei redirect wären..

Frage: welche Datei muss ich includen, damit ich die redirect-funktion aufrufen kann??
Es kommt nämlich diese Fehlermeldung, wenn ich mich in phpBB eingeloggt hab und dann auf meine Login Seite geh. Diese sollte mich eigentlich weiterleiten zu kumpelz.php -mit redirect. (das macht sie auch fein, wenn ich mich auf meine login seite einlogg)

Fatal error: Call to undefined function: redirect() in /usr/local/httpd/htdocs/kunden/***/html/kumpelz/index.php on line 109

THX

bitte antworte doch einer..
Benutzeravatar
Mister_X
Ehemaliges Teammitglied
Beiträge: 7102
Registriert: 24.05.2001 02:00
Wohnort: Augsburg

Beitrag von Mister_X »

die redirect Funktion wird in der functions.php definiert. Wenn du noch weitere Fragen hast stelle sie, aus deinem ganzen Text von weiter oben bin ich nicht wirklich schlau geworden ;)
Benutzeravatar
Fraenky
Mitglied
Beiträge: 111
Registriert: 31.07.2002 13:53

Beitrag von Fraenky »

naja also:
ich habe ne index.php mit diesen Code:

Code: Alles auswählen

define("IN_LOGIN", true);

define('IN_PHPBB', true); 
$phpbb_root_path = '../'; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata);

$username = $userdata['username'];
$user_rank = $userdata['user_rank'];
Später wird auch noch die kumpelz.php includet, die auch den Code hat.
So wird --denk ich ma-- alles 2 mal in die selbe datei -nämlich index.php- includet.
So denk ich ma kommt der fehler von wegen template...

Naja und bin ich dann eingeloggt (mit meinem Login Formular -welches action=login.php von phpbb hat) komm ich auch in die kumpelz.php -werde also mit redirect weitergeleitet.
Aber geh ich dann wieder auf phpBB -da bin ich dann auch eingeloggt *logisch*- und dann von da wieder auf die kumpelz/index.php von mir, dann erkennt er die redirect Funktion nicht an -> leitet mich also nicht zu kumpelz.php um.
In der login.php von phpBB habe ich den phpBB_root halt ein verzeichniss höher gesetzt( '../').

Aber irgendwie ist das jetzt egal, da ich jetzt nen JavaScript include, welches mich dann in die kumpelz.php weiterleitet. Egal ob ich von meiner index.php oder der von phpBB komme...

Zwar nicht die eleganteste Lösung, aber es funzt..
Antworten

Zurück zu „Coding & Technik“