Seite 2 von 3
Re: Probleme bei Verwendung von Classes auf phpBB
Verfasst: 06.07.2017 20:07
von UweA
canonknipser hat geschrieben:
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#general
also aus
data['ha'] = (isset ($_POST['ha'])) ? $_POST['ha'] : $_GET['ha'];
wird
$data['ha] = $request->variable('ha', 0)
Habs jetzt relativ weit umstellen können. Eine Frage noch zu den Superglobals :
wenn ich etwas wie :
habe - wie wird das jetzt mit der request-Var ?
habs mit :
versucht ... Aber nur eine Seite schafft es angezeigt zu werden. Bei der zweiten bekomme ich im Moment eine weisse Page
Ich weiss nicht wie ich jetzt noch voran komme.
Greetz
Uwe
Re: Probleme bei Verwendung von Classes auf phpBB
Verfasst: 06.07.2017 21:13
von canonknipser
Hi,
Wenn du in die
Coding guidelines schaust, hat die Klasse
request
für die Methode
variable
zwei Parameter:
der erste Parameter ist der Variablenname, der zweite der Defaultwert, falls die Variable nicht existiert und dann durch die Methode angelegt werden soll.
In deinem Fall möchtest du für die Variable
m
einen String zurückbekommen, also:
$request->variable('m', '')
. In deinem originalen Script wurde keine Typprüfung vorgenommen, was auch mal ordentlich in die Hose gehen kann.
Und weiße Seiten bedeuten in der Regel eine Abbruch des Scriptes mit einem php-Fehler; da solltest du nähere Informationen im error_log deines Webservers finden.
Re: Probleme bei Verwendung von Classes auf phpBB
Verfasst: 06.07.2017 21:59
von UweA
okay,
jetzt habe ich nur noch zwei Fragen :
1.) muss ich auf jeder Seite den Connect über das Session Management herstellen ?
2.) Wenn ich die Zeile
auf einer Unterseite mit drin lasse - dann bekomme ich :
Fatal error: Uncaught exception 'Twig_Error_Syntax' with message 'Only variables can be assigned to. Unexpected token "operator" of value "matches" ("name" expected) in "minsppl.html" at line 8.' in /var/www/vhosts/appmeier.eu/httpdocs/vendor/twig/twig/lib/Twig/TokenStream.php:87 Stack trace: #0 /var/www/vhosts/appmeier.eu/httpdocs/vendor/twig/twig/lib/Twig/ExpressionParser.php(541): Twig_TokenStream->expect(5, NULL, 'Only variables ...') #1 /var/www/vhosts/appmeier.eu/httpdocs/vendor/twig/twig/lib/Twig/TokenParser/For.php(30): Twig_ExpressionParser->parseAssignmentExpression() #2 /var/www/vhosts/appmeier.eu/httpdocs/vendor/twig/twig/lib/Twig/Parser.php(187): Twig_TokenParser_For->parse(Object(Twig_Token)) #3 /var/www/vhosts/appmeier.eu/httpdocs/vendor/twig/twig/lib/Twig/Parser.php(100): Twig_Parser->subparse(NULL, false) #4 /var/www/vhosts/appmeier.eu/httpdocs/vendor/twig/twig/lib/Twig/Environment.php(619): Twig_Parser->parse(Object(Twig_TokenStream)) #5 /var/www/vhosts/appmeier.eu/httpdocs/vendor/twig/twig/lib/Twig/Envi in /var/www/vhosts/appmeier.eu/httpdocs/vendor/twig/twig/lib/Twig/TokenStream.php on line 87
wenn ich es kommentiere bekomme ich eine leere Seite, aber keinen Eintrag im logfile auf dem Server
obiger Fehler wird jedoch im Log eingetragen
Ich habe phpbb 3.2 wie zu Beginn einmal gesagt einfach installiert und nichts besonderes ein- oder ausgechaltet (TWIG ??)
Auf meiner Einstiegsseite ist sowohl Session Management wie auch das define drin, und es geht. Von dort aus gehe ich auf eine weitere Seite, welche sich derzeit wie beschrieben verhält.
danke für jede Hilfe
Uwe
Re: Probleme bei Verwendung von Classes auf phpBB
Verfasst: 06.07.2017 22:10
von canonknipser
wie sieht denn deine
minsppl.html
aus? Denn da meckert Twig (der Template-Parser) ja die Zeile 8 an:
'Only variables can be assigned to. Unexpected token "operator" of value "matches" ("name" expected) in "minsppl.html" at line 8.'
Pack doch mal die ersten 20 Zeilen deiner
minsppl.html
hier in code-Tags
Re: Probleme bei Verwendung von Classes auf phpBB
Verfasst: 06.07.2017 22:47
von UweA
Musste da leider viel "Doppelcode" verwenden weil ich im Moment nicht die zeit finde es anders einzubinden.
Der Code aus den Zeilen 21 - 850 ist eine Datei die früher eine eigene datei war (page_header.php) doch leider bekam ich die Variablen aus dieser datei nicht in die Hauptseite (scores.php) und auch diese minsppl.php. Daher habe ich die datei in beide dateien übernommen.
Ich weiss das es anders geht, aber erst einmal laufen haben, dann weiter sehen - habe ich gedacht
Trotzdem hier die ersten Zeilen (die ja in der scores.php funktionieren)
Code: Alles auswählen
<?php
//include ('./inc/start_up.php');
// Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './';
$tmi_inc_path = './tmi_inc/';
$tmi_css_path = './tmi_css/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($tmi_inc_path . 'common.' . $phpEx);
include($tmi_inc_path . 'functions.' . $phpEx);
include($phpbb_root_path . 'includes/bbcode.' . $phpEx);
$data['page'] = PAGE_MINUTENSPIELPLAN;
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
####################
## ein paar tabellen zum kompletten zugriff auslesen
## bzw. arrays anlegen (teams/saisons/ligen)
####################
$css_to_include = './tmi_css/minutenspielplan.css';
//
// put all the teams into
// $all_teams[team_id] => teamname
//
$sql = "SELECT *
FROM " . TEAMS_TABLE;
if (!($result = $db->sql_query ($sql)))
{
trigger_error ('error getting data');
}
if ($row = $db->sql_fetchrow ($result))
{
do
{
$all_teams[$row['team_id']] = $row['team_name'];
}
while ($row = $db->sql_fetchrow ($result));
}
else
{
trigger_error ('error getting data 2');
}
$db->sql_freeresult ($result);
auf die Sprungmarke $data['page'] = PAGE_MINUTENSPIELPLAN
Code: Alles auswählen
switch ($data['page'])
{
.....
case PAGE_MINUTENSPIELPLAN:
//if (isset ($_GET['saison']) || isset ($_POST['saison']))
if ($request->variable('saison', 0))
{
//$data['saison'] = (isset ($_POST['saison'])) ? $_POST['saison'] : $_GET['saison'];
$data['saison'] = $request->variable('saison', 0);
}
else
{
$data['saison'] = $xtradata['saison_aktuell'];
}
//if (isset ($_GET['woche']) || isset ($_POST['woche']))
if ($request->variable('woche', 0))
{
//$data['woche'] = (isset ($_POST['woche'])) ? $_POST['woche'] : $_GET['woche'];
$data['woche'] = $request->variable('woche', 0);
}
else
{
$data['woche'] = $xtradata['woche_aktuell'];
}
break;
....
default:
// regeln/satzung -> nothing to do
}
Re: Probleme bei Verwendung von Classes auf phpBB
Verfasst: 07.07.2017 10:25
von canonknipser
UweA hat geschrieben:minsppl.php.
...
Öhm:
canonknipser hat geschrieben:wie sieht denn deine minsppl.html
aus?
Re: Probleme bei Verwendung von Classes auf phpBB
Verfasst: 07.07.2017 12:28
von Mahony
Hallo UweA
Schau auch mal hier ==>>
Was tun bei Illegal use of $_SERVER Fehlermeldung
Grüße: Mahony
Re: Probleme bei Verwendung von Classes auf phpBB
Verfasst: 07.07.2017 13:31
von UweA
sorry canonknipser ... war schon spät und meine Aeuglein lngsam zu ...
Code: Alles auswählen
<!-- INCLUDE ./page_header.html -->
<!-- INCLUDECSS ./tmi_css/gen.css -->
<!-- INCLUDECSS ./tmi_css/minutenspielplan.css -->
<span class="head">Saison {T_SAISONNAME} -- Woche {T_WOCHENNAME}</span>
<br /><br />
<table class="tbl-playerstats" cellpadding="4">
<!-- BEGIN matches -->
<tr>
<td class="{matches.C_MINUTE}">{matches.T_MINUTE}.- </td>
<td class="{matches.C_ANSTOSS}">{matches.T_ANSTOSS}</td>
<td class="{matches.C_PARTIE}">{matches.T_PARTIE}</td>
<td class="{matches.C_QU}">[{matches.T_QU1} - {matches.T_QU0} - {matches.T_QU2}]</td>
<td class="{matches.C_ERG}">[{matches.T_ERGA} : {matches.T_ERGB}]</td>
</tr>
<!-- END matches -->
</table>
<br />
<!-- INCLUDE page_tail.html -->
mehr ist es nicht
Re: Probleme bei Verwendung von Classes auf phpBB
Verfasst: 07.07.2017 14:04
von Mahony
Hallo
Zeile 8 sollte das hier sein
Wenn es sich um einen Kommentar (mehrere Kommentare) handelt, so dürfen diese NICHT mit
BEGIN ODER
END anfangen, da dies in phpBB3.x nicht als Kommentare gewertet wird.
Die Lösung dafür wäre, den Kommentar so zu gestalten
und
Grüße: Mahony
Re: Probleme bei Verwendung von Classes auf phpBB
Verfasst: 07.07.2017 14:11
von canonknipser
Intern werden die Templates in die Template-Syntax von TWIG umgewandelt und dann verarbeitet.
Deine Fehlermeldung liegt daran, dass deine Schleifenvariable
matches
in
TWIG ein Vergleichsoperator ist.
Benenne
matches
in
spiele
oder so um, dann sollte das funktionieren - bis zum nächsten Problemchen
