Probleme bei Verwendung von Classes auf phpBB
Probleme bei Verwendung von Classes auf phpBB
Hallo zusammen
Ich habe Sourcen übernommen die teilweise über die Classes von phpBB in einer Ur-alten Version (1.x) verwendet worden sind.
Nun musste ich diese auf einem neuen Server übernehmen und bekomme lediglich weisse Seiten.
Zuerst musste ich von mysql_ auf mysqli umstellen. Diese teile funktionieren mit PHP 5.6 und 7.0 und auch MySQL Zugrffe laufen einwandfrei.
Jedoch die Sourcen, welche via mysql.php, mysqli.php, template.php oder acl.php laufen bringen Fehler
Ich habe die neueste Version vom intenationalen Server (zuerst gefunden) geladen und installiert (obwohl ich die Installation wohl bis jetzt nicht brauchte)
Wenn ich die mysqli.php referenziere bekomme ich folgenden Fehler :
Class 'phpbb\db\driver\mysql_base' not found in mysqli.php on line 22
Ich habe die Datei in den Default Verzeichnissen und Einstelllungen belassen:
namespace phpbb\db\driver;
call :
class mysqli extends \phpbb\db\driver\mysql_base
{ ....
Irgend einen Hint was ich machen könnte ??
Thanks in advance
Uwe
Ich habe Sourcen übernommen die teilweise über die Classes von phpBB in einer Ur-alten Version (1.x) verwendet worden sind.
Nun musste ich diese auf einem neuen Server übernehmen und bekomme lediglich weisse Seiten.
Zuerst musste ich von mysql_ auf mysqli umstellen. Diese teile funktionieren mit PHP 5.6 und 7.0 und auch MySQL Zugrffe laufen einwandfrei.
Jedoch die Sourcen, welche via mysql.php, mysqli.php, template.php oder acl.php laufen bringen Fehler
Ich habe die neueste Version vom intenationalen Server (zuerst gefunden) geladen und installiert (obwohl ich die Installation wohl bis jetzt nicht brauchte)
Wenn ich die mysqli.php referenziere bekomme ich folgenden Fehler :
Class 'phpbb\db\driver\mysql_base' not found in mysqli.php on line 22
Ich habe die Datei in den Default Verzeichnissen und Einstelllungen belassen:
namespace phpbb\db\driver;
call :
class mysqli extends \phpbb\db\driver\mysql_base
{ ....
Irgend einen Hint was ich machen könnte ??
Thanks in advance
Uwe
- canonknipser
- Ehemaliges Teammitglied
- Beiträge: 2053
- Registriert: 10.09.2011 11:14
- Kontaktdaten:
Re: Probleme bei Verwendung von Classes auf phpBB
1.x von phpBB hat niemals Objektorientiertes php verwendet, das gab es damals noch nicht. Entweder aus 3.0 oder aus 3.1...UweA hat geschrieben:... phpBB in einer Ur-alten Version (1.x)
Was für Source? Eigengeschriebener Code, der Funktionen aus phpBB nutzt?UweA hat geschrieben:Ich habe Sourcen übernommen...
Der wird wohl nicht mehr laufen. Hast du Codebeispiele (größere Blöcke bitte via Pastebin)?
Edit: in der englischen Knowledgebase gibt es einen Artikel, der beschreibt, wie man eigene Seiten unter Nutzung von phpBB erstellt. Dieser ist zwar für phpBB 3.0, aber in weiten Teilen auch noch für phpBB 3.1 oder 3.2 gültig: Knowledge Base - Add a New Custom Page to phpBB
Grüße, canonknipser
"there are only 10 types of people: those, who understand binary and those, who don't"
just arrived
- Bilder
Kein Support via PN, nur im Board und (manchmal) im IRC
"there are only 10 types of people: those, who understand binary and those, who don't"
just arrived

Kein Support via PN, nur im Board und (manchmal) im IRC
Re: Probleme bei Verwendung von Classes auf phpBB
canonknipser hat geschrieben:UweA hat geschrieben:... phpBB in einer Ur-alten Version (1.x)Es wurden anscheinend nur diese php files genutzt, denn ein Forum kann ich nicht erkennen1.x von phpBB hat niemals Objektorientiertes php verwendet, das gab es damals noch nicht. Entweder aus 3.0 oder aus 3.1...
Wenn ich mir die z.B. mysql.php anschaue, die im "alten Code" von uns verwerndet worden ist sehe ich den Header:
<?php
/***************************************************************************
* mysql.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id: mysql.php,v 1.2 2003/07/11 11:31:53 rob Exp $
*
***************************************************************************/
UweA hat geschrieben:Ich habe Sourcen übernommen...Was für Source? Eigengeschriebener Code, der Funktionen aus phpBB nutzt? Der wird wohl nicht mehr laufen.
ja - es sind PHP Sourcen die von jemanden im Projekt vor Jahren geschrieben worden sind. Irgendwann hat dann einer die mysql.php, template.php und acl.php verwendet und via include oder require eingebunden.
Ich habe nun auf Grund des neuen PHP - und damit verbunden mysqli.php versucht diese auf dem Server abzulegen und zu nutzen.
Leider bekomm ich die oben angesprochene fehlermeldung, auch wenn die mysql_base.php vorhanden ist
Da es bei einem Hoster liegt komme ich nur an den von mir verwalteten Code, nicht an PHP, kann jedoch zwischen PHP 5.3, 5.5, 5.6 und 7.0 wechseln.
Ich lege noch Code Bespiele mit ab
pastebin/?mode=view&s=19
- canonknipser
- Ehemaliges Teammitglied
- Beiträge: 2053
- Registriert: 10.09.2011 11:14
- Kontaktdaten:
Re: Probleme bei Verwendung von Classes auf phpBB
OK, ich sehe spontan zwei Möglichkeiten:
Entweder du passt das Aufrufcoding entsprechend dem von mir verlinktem KB-Artikel an (dann sparst du dir auch das ganze "Gehampel" mit Connect zur Datenbank etc., weil das von den dann aufgerufenen Routinen bereits gemacht wird) und stellst sie weiterhin quasi neben deinem Forum bereit
Oder du erstellst dir aus deinen Codebausteinen eine Extension KB:ext_erstellen ; hier kann als Basis z.B. die Skeleton extension hilfreiche Dienste leisten. (falls du nicht für deine Anforderung bereits eine passende Extension findest, z.B. Football prediction leage, wenn ich deine Tabellenfelder richtig interpretiere)
Vielleicht beschreibst du näher, was deine Scripte aktuell leisten, dann kann man möglicherweise weitere Empfehlungen aussprechen.
Entweder du passt das Aufrufcoding entsprechend dem von mir verlinktem KB-Artikel an (dann sparst du dir auch das ganze "Gehampel" mit Connect zur Datenbank etc., weil das von den dann aufgerufenen Routinen bereits gemacht wird) und stellst sie weiterhin quasi neben deinem Forum bereit
Oder du erstellst dir aus deinen Codebausteinen eine Extension KB:ext_erstellen ; hier kann als Basis z.B. die Skeleton extension hilfreiche Dienste leisten. (falls du nicht für deine Anforderung bereits eine passende Extension findest, z.B. Football prediction leage, wenn ich deine Tabellenfelder richtig interpretiere)
Vielleicht beschreibst du näher, was deine Scripte aktuell leisten, dann kann man möglicherweise weitere Empfehlungen aussprechen.
Grüße, canonknipser
"there are only 10 types of people: those, who understand binary and those, who don't"
just arrived
- Bilder
Kein Support via PN, nur im Board und (manchmal) im IRC
"there are only 10 types of people: those, who understand binary and those, who don't"
just arrived

Kein Support via PN, nur im Board und (manchmal) im IRC
Re: Probleme bei Verwendung von Classes auf phpBB
Du hast es schon gut erfasst .... Es geht um ein Fussball-Tippspiel im Netz.
Dort gibt es eine losgelöste Liga in welcher Nationalteams antreten.
Die Scripte bieten genau dieses - nämlich Tabellenaufbau durch Ergebnisverarbeitung, Ergebnisdienst, Spieltagsanzeige (Semi-Live), etc
Vieles wird vom Hauptspiel übernommen (www.tipmaster.de). Hier sind die nationalen (deutschen) und internationalen Ligen beheimatet und auch
die Aufstellungen werden dort erfasst.
Die Uebernahme der Aufstellungen funktioniert, da hier keine phpBB Bausteine genutzt worden sind (nur mysql- oder jetzt mysqli-Aufrufe)
Es geht also um den Spieltagsaufbau und die Ligaanzeige.
Ich schau mir heut abend mal deinen Link an zur Football prediction league.
Ich kann zu allererst die auftretende Fehlermeldung nicht verstehen ....
Class 'phpbb\db\driver\mysql_base' not found in mysqli.php on line 22
denn sowohl die Verzeicnisse wie auch die Class ist vorhanden. Sie heisst zwar mysql_base.php aber umbenennen oder anhängen von PHP bringt gröbere fehler als diesen.
Danke schon mal fürs weiter helfen ... Hoffe wir lösen den Knoten und das Spiel kann weiter gehen
Dort gibt es eine losgelöste Liga in welcher Nationalteams antreten.
Die Scripte bieten genau dieses - nämlich Tabellenaufbau durch Ergebnisverarbeitung, Ergebnisdienst, Spieltagsanzeige (Semi-Live), etc
Vieles wird vom Hauptspiel übernommen (www.tipmaster.de). Hier sind die nationalen (deutschen) und internationalen Ligen beheimatet und auch
die Aufstellungen werden dort erfasst.
Die Uebernahme der Aufstellungen funktioniert, da hier keine phpBB Bausteine genutzt worden sind (nur mysql- oder jetzt mysqli-Aufrufe)
Es geht also um den Spieltagsaufbau und die Ligaanzeige.
Ich schau mir heut abend mal deinen Link an zur Football prediction league.
Ich kann zu allererst die auftretende Fehlermeldung nicht verstehen ....
Class 'phpbb\db\driver\mysql_base' not found in mysqli.php on line 22
denn sowohl die Verzeicnisse wie auch die Class ist vorhanden. Sie heisst zwar mysql_base.php aber umbenennen oder anhängen von PHP bringt gröbere fehler als diesen.
Danke schon mal fürs weiter helfen ... Hoffe wir lösen den Knoten und das Spiel kann weiter gehen
- canonknipser
- Ehemaliges Teammitglied
- Beiträge: 2053
- Registriert: 10.09.2011 11:14
- Kontaktdaten:
Re: Probleme bei Verwendung von Classes auf phpBB
Dann versuch es doch erst mal so:
tausche in der fraglichen Datei das
durch das:
aus.
Für die Zuweisung in das Template kommt zwischendrin die Zuweisung der Variablen (da, wo du sie möglicherweise jetzt schon füllst)
so ähnlich wie hier (aus der faq.php von 3.1.10):
am Schluss dann der Seitentitel, die Zuweisung des Templatesfiles und der Footer:
tausche in der fraglichen Datei das
Code: Alles auswählen
//
// include-kram
//
include ('./config.php');
include ('./inc/common.php');
include ('./inc/functions.php');
$starttime = getmicrotime ();
require ('./inc/acm.php');
$cache = new acm ();
require ('./inc/mysql.php');
$db = new sql_db ();
$db->sql_connect ($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false);
if (!isset ($no_template))
{
require ('./inc/template.php');
$template = new template ();
$template->set_template ('v2');
}
Code: Alles auswählen
/**
* @ignore
*/
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
Für die Zuweisung in das Template kommt zwischendrin die Zuweisung der Variablen (da, wo du sie möglicherweise jetzt schon füllst)
so ähnlich wie hier (aus der faq.php von 3.1.10):
Code: Alles auswählen
// Lets build a page ...
$template->assign_vars(array(
'L_FAQ_TITLE' => $l_title,
'L_BACK_TO_TOP' => $user->lang['BACK_TO_TOP'],
'SWITCH_COLUMN_MANUALLY' => (!$found_switch) ? true : false,
'S_IN_FAQ' => true,
));
Code: Alles auswählen
page_header($l_title);
$template->set_filenames(array(
'body' => 'faq_body.html')
);
page_footer();
Grüße, canonknipser
"there are only 10 types of people: those, who understand binary and those, who don't"
just arrived
- Bilder
Kein Support via PN, nur im Board und (manchmal) im IRC
"there are only 10 types of people: those, who understand binary and those, who don't"
just arrived

Kein Support via PN, nur im Board und (manchmal) im IRC
Re: Probleme bei Verwendung von Classes auf phpBB
Ich habs dann mal so versucht wie von dir beschrieben. Leider gibts doch wieder einen FATAL und somit läd der Code nicht weiter.
Die Warnings sind ja meist zu ignorieren
Warning: include(./common.php): failed to open stream: No such file or directory in /httpdocs/inc/start_up.php on line 31
Warning: include(./common.php): failed to open stream: No such file or directory in httpdocs/inc/start_up.php on line 31
Warning: include(): Failed opening './common.php' for inclusion (include_path='.:/opt/alt/php56/usr/share/pear:/opt/alt/php56/usr/share/php') in /httpdocs/inc/start_up.php on line 31
Notice: Undefined variable: user in /httpdocs/inc/start_up.php on line 34
Fatal error: Call to a member function session_begin() on a non-object in /httpdocs/inc/start_up.php on line 34
Eine Frage habe ich noch zum Path-Build. ... Beim "Failed opening" kommt opt/alt/php56/
phpinfo() sagt aber /opt/alt/php55
in der im script angesprochenen comomn.php werden NUR Variablen gesetzt die im Spiel verwendet werden, nicht aber PATHs
das hauptscript habe ich im patebin mal komplett geladen
pastebin/?mode=view&s=20
ebenso das page_header
pastebin/?mode=view&s=21
und page_tail
pastebin/?mode=view&s=22
Ein Auszug aus der commons.php:
Ich weiss ich bin manchmal nervig wenn ich nicht weiter komme .....
Die Warnings sind ja meist zu ignorieren
Warning: include(./common.php): failed to open stream: No such file or directory in /httpdocs/inc/start_up.php on line 31
Warning: include(./common.php): failed to open stream: No such file or directory in httpdocs/inc/start_up.php on line 31
Warning: include(): Failed opening './common.php' for inclusion (include_path='.:/opt/alt/php56/usr/share/pear:/opt/alt/php56/usr/share/php') in /httpdocs/inc/start_up.php on line 31
Notice: Undefined variable: user in /httpdocs/inc/start_up.php on line 34
Fatal error: Call to a member function session_begin() on a non-object in /httpdocs/inc/start_up.php on line 34
Eine Frage habe ich noch zum Path-Build. ... Beim "Failed opening" kommt opt/alt/php56/
phpinfo() sagt aber /opt/alt/php55
in der im script angesprochenen comomn.php werden NUR Variablen gesetzt die im Spiel verwendet werden, nicht aber PATHs
das hauptscript habe ich im patebin mal komplett geladen
pastebin/?mode=view&s=20
ebenso das page_header
pastebin/?mode=view&s=21
und page_tail
pastebin/?mode=view&s=22
Ein Auszug aus der commons.php:
Code: Alles auswählen
<?php
define ('PAGE_SCORES', 1);
define ('PAGE_DETAILS', 2);
define ('PAGE_STATS_TEAMS', 3);
define ('PAGE_STATS_PLAYERS', 4);
define ('PAGE_MINUTENSPIELPLAN', 5);
define ('PAGE_KALENDER', 6);
define ('PAGE_TIPS', 7);
define ('PAGE_REGELN', 8);
define ('PAGE_SATZUNG', 9);
define ('PAGE_VERLAUF', 10);
define ('PAGE_VERLAUF_IMG', 11);
define ('ANSETZUNGEN_TABLE', 'tm_nm_ansetzungen');
define ('LOGS_TABLE', 'tm_nm_logs');
define ('SAISONS_TABLE', 'tm_nm_saisons');
define ('SPPLWE_TABLE', 'tm_nm_spplwe');
define ('STATS_TABLE', 'tm_nm_stats');
define ('TABELLEN_TABLE', 'tm_nm_tabellen');
define ('TEAMS_TABLE', 'tm_nm_teams');
define ('TIPS_TABLE', 'tm_nm_tips');
...
>
- canonknipser
- Ehemaliges Teammitglied
- Beiträge: 2053
- Registriert: 10.09.2011 11:14
- Kontaktdaten:
Re: Probleme bei Verwendung von Classes auf phpBB
OK, damit ich das jetzt richtig verstehe:
Dein Script, was du über einen Link oder direkt aufrufst, heisst
Wenn ja, dann hast meine Anweisungen nicht richtig verstanden:
Anstelle dieses Teils:
muss dieser Teil dort hin:
Damit wird die
Zusätzlich musst du, damit deine Spiel-Spezifischen Konstanten definiert werden, deine eigene
Also muss HINTER das
Dann wird wohl auch noch der Teil mit "Page Header..." benötigt pastebin/?mode=view&s=21
ich nehme an, der liegt auch im
Also noch ein
also aus
usw ...
Ganz zum Schluss wird dann das template (natürlich nicht das faq_body.html, sondern dein eigenes) zugewiesen und ausgegeben:
Da ist also eine Menge an Code umzuschreiben und hat eigentlich nichts in diesem Unterforum zu suchen. Gut, dass dein Code einigermaßen ordentlich dokumentiert ist 
Wenn du dir das nicht selber zutraust, kannst du auch gerne eine Ausschreibung bei uns in der Jobbörse machen
Dein Script, was du über einen Link oder direkt aufrufst, heisst
scores.php
und liegt im Haupt-Ordner von phpBB (also da, wo auch die config.php von phpBB liegt).Wenn ja, dann hast meine Anweisungen nicht richtig verstanden:
Anstelle dieses Teils:
Code: Alles auswählen
include ('./inc/start_up.php');
$data['page'] = PAGE_SCORES;
$css_to_include = './markup/scores.css';
//include ('./inc/page_header.php');
//$template->set_filenames (array (
// 'body' => 'scores.html')
//);
// Lets build a page ...
$template->assign_vars(array(
'L_FAQ_TITLE' => $l_title,
'L_BACK_TO_TOP' => $user->lang['BACK_TO_TOP'],
'SWITCH_COLUMN_MANUALLY' => (!$found_switch) ? true : false,
'S_IN_FAQ' => true,
));
page_header($l_title);
$template->set_filenames(array(
'body' => 'faq_body.html')
);
Code: Alles auswählen
/**
* @ignore
*/
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
common.php
aus phpBB aufgerufen, die die Initialisierung der kompletten Umgebung vornimmt; incl. Anmeldung an der Datenbank, die in der config.php
eingetragen ist.Zusätzlich musst du, damit deine Spiel-Spezifischen Konstanten definiert werden, deine eigene
commons.php
includen. Diese liegt wohl, wenn ich dich richtig verstehe, im Pfad inc
.Also muss HINTER das
include($phpbb_root_path . 'common.' . $phpEx);
noch eine Zeileinclude($phpbb_root_path . 'inc/commons.' . $phpEx);
Dann wird wohl auch noch der Teil mit "Page Header..." benötigt pastebin/?mode=view&s=21
ich nehme an, der liegt auch im
inc
-Verzeichnis?Also noch ein
include($phpbb_root_path . 'inc/page_header.' . $phpEx);
dahinter. Aber spätestens hier bekommst du von phpBB was auf die Finger, da die "Superglobals" $_POST, $_GET usw. deaktiviert sind. Variablen aus Übergaben erhältst du über das $request
-Objekt, egal ob es GET, POST, COOKIE oder SERVER-Daten sind: https://area51.phpbb.com/docs/31x/codin ... ml#generalalso aus
data['ha'] = (isset ($_POST['ha'])) ? $_POST['ha'] : $_GET['ha'];
wird $data['ha] = $request->variable('ha', 0)
usw ...
Ganz zum Schluss wird dann das template (natürlich nicht das faq_body.html, sondern dein eigenes) zugewiesen und ausgegeben:
Code: Alles auswählen
page_header('Mein Titel');
$template->set_filenames(array(
'body' => 'faq_body.html')
);
page_footer();

Wenn du dir das nicht selber zutraust, kannst du auch gerne eine Ausschreibung bei uns in der Jobbörse machen
Grüße, canonknipser
"there are only 10 types of people: those, who understand binary and those, who don't"
just arrived
- Bilder
Kein Support via PN, nur im Board und (manchmal) im IRC
"there are only 10 types of people: those, who understand binary and those, who don't"
just arrived

Kein Support via PN, nur im Board und (manchmal) im IRC
Re: Probleme bei Verwendung von Classes auf phpBB
Danke soweit canonknipser
Bin ein paar Schritte weiter .. keiner angezeigten Fehler und keine fehler im PHP Log ...
ABER
auch nur eine weisse Seite
da werde ichweiter dran arbeiten. Hoffe auch das lösen zu können
Gereetz
U
Bin ein paar Schritte weiter .. keiner angezeigten Fehler und keine fehler im PHP Log ...
ABER
auch nur eine weisse Seite
da werde ichweiter dran arbeiten. Hoffe auch das lösen zu können
Gereetz
U
Re: Probleme bei Verwendung von Classes auf phpBB
Hallo nochmal,
Ich habe es jetzt relativ weit geschafft ... Zumindest bekomme ich eine Foren-Seite aufgeschaltet .... was aber nicht grad mein Ziel war
Ich wollte unsere HTML Seiten sehen
Ich werde jetzt wohl alles auf PURE-PHP zurück rüsten, damit die Seiten korrekt laufen. Ein Forum kann ich ja hinterher dazu bauen

Ich habe es jetzt relativ weit geschafft ... Zumindest bekomme ich eine Foren-Seite aufgeschaltet .... was aber nicht grad mein Ziel war


Ich wollte unsere HTML Seiten sehen
Ich werde jetzt wohl alles auf PURE-PHP zurück rüsten, damit die Seiten korrekt laufen. Ein Forum kann ich ja hinterher dazu bauen
