Seite 1 von 1

eingebundene Seiten in phpBB3 + MySQLAbfrage mit PHP

Verfasst: 09.07.2008 22:39
von etienne77
Hallo,

bin noch ziemlich unbefleckt in Sachen phpBB. Mit Hilfe des Formus habe ich es jetzt auch schon geschafft neue Seiten in phpBB3 einzubinden.
Dies funktioniert allerdings nur, wenn ich das mit statischen Seiten mache.

Sobald ich php mit meiner DB-Abfrage ins Spiel bringe, ignoriert phpBB beharlich meinen dynamischen php-Code.

Aufgerufene Seite unter root

Code: Alles auswählen

<?php
define('IN_PHPBB', true);
$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();

page_header('Suche Stadt');

$template->set_filenames(array(
    'body' => 'adress_db_aus_stadt.html',
));

make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
?>
HTML Datei adress_db_aus_stadt.html im template Verzeichnis

Code: Alles auswählen

<!-- INCLUDE overall_header.html -->
<P class="{S_CONTENT_FLOW_END}<!-- IF S_USER_LOGGED_IN --> rightside<!-- ENDIF -->"><!-- IF S_USER_LOGGED_IN -->{LAST_VISIT_DATE}<!-- ELSE -->{CURRENT_TIME}<!-- ENDIF --></P><!-- IF U_MCP --><P>{CURRENT_TIME}<BR/>[&nbsp;<A href="{U_MCP}">{L_MCP}</A>&nbsp;]</P><!-- ELSEIF S_USER_LOGGED_IN --><P>{CURRENT_TIME}</P><!-- ENDIF -->
<!-- INCLUDE static_overall_nav.html --><BR>
<div class="forabg">
	<div class="inner">
		<span class="corners-top"><span></span></span>
		<ul class="topiclist">
			<li class="header"><dl><dt>Informationen zur Stadt</dt></dl></li>
		</ul>
		<ul class="topiclist forums" style="padding: 20px">
		<li>
			<div style="padding-left: 0px">
			
<table width="100%" border="0" cellspacing="20" cellpadding="0">
<tr>
	<td width="50%" valign="top"><font size="2"><br>
<P><STRONG><font size="2">Informationen &uuml;ber xxxxxxxxxx - <a href="adress_db_suche_start.php" target="_top">Adressen</a></STRONG></P>
	
<p>Abfrage Stadt</p>

<!-- INCLUDE  /../../../adress_db_aus_stadt_abfrage.php -->

</td>

	<td width="50%" valign="top"><div align="center">.....</td>
</tr>
</table>

</font></font>
			</div>
		</li>
		</ul>
		<span class="corners-bottom"><span></span></span>
	</div>
</div>
<br />

<div align="center"><font size="-1">Die hier dargestellten Informationen ....</font></div>

<br />



Die Datei adress_db_aus_stadt_abfrage.php liegt im root Verzeichnis und enthält den Datenbankzugriff samt Ausgabe

Doch diese php-Abfrage Datei wird komplett ignoriert es kommt nicht mal eine Fahlermeldung. Für sich funktioniert die php-Datei aber richtig nur eingebunden tut sich nichts.


Ausgegeben wird nur der Text im HTML-Code:

Abfrage Stadt


Irgendwas mache ich wohl noch (grundlegend) falsch!?!

Ciao
Stefan

Verfasst: 09.07.2008 23:10
von 4seven
ab hier lesen
http://www.phpbb.de/viewtopic.php?p=996030#996030

auch die 1-2 crosslinks

Verfasst: 09.07.2008 23:22
von gn#36
PHP im Template aktiviert? Das muss separat im ACP aktiviert werden, ansonsten gibt es keine PHP Includes in Templates.

Eine Alternative wäre auch das ganze per include nicht im Template sondern in der PHP Datei zu machen. Dabei fängst du die Ausgabe der PHP Datei ggf. ab und legst sie in eine Templatevariable (output buffering mit [php:ob_start] usw.).

Verfasst: 10.07.2008 22:26
von etienne77
Hallo,

danke für eure Hilfe.
Die Geschichte mit Javascript und dem Iframe habe ich mal umgesetzt. Es funktioniert prinzipiell. Das Dumme ist nur, dass auf dem Weg zur IFrame Ausgabe meine Postvariablen aus dem HTML-Formular verloren gehen.
Und so die DB-Abfrage nix zurückliefern kann!

Ciao
Stefan

Verfasst: 10.07.2008 23:16
von 4seven
Lass die php-Datei doch das Frontend spielen. So ist die html-Datei der Monitor.

Verfasst: 10.07.2008 23:36
von etienne77
hallo 4seven,

kannst du deine Antwort auch für einen nicht phpBB Experten formulieren?
Wäre dir echt zu tiefen Dank verbunden.

ciao
Stefan

Verfasst: 11.07.2008 00:03
von 4seven
Guck dir in dem Paket Easy Upload Manager mal die ea_up_ma**.php an.
Da werden html-befehle (zb. deine formulare) innerhalb
der php geschrieben.

Kurzform:

Code: Alles auswählen

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<form typ="deine formulare als html">
<?php
$deine_formular_verarbeitung_als_php
?>
</form></body></html>

Verfasst: 11.07.2008 21:32
von etienne77
Hallo 4seven,

danke für deine Hilfe aber ich muss das erst mal sacken lassen. Hatte nicht gedacht, dass sowas wirklich alltägliches nur weil es dynamisch ist solche Umwege und Handstände bereitet. :oops:

Ist das Teil wirklich so unflexibel in Sachen dynamischer Inhalte?

Ich hab eigentlich nicht vor meine ganzen Skripte und Abfragen die ohne template wunderbar funktionieren wieder auseinanderzufrimmeln oder umzubauen . :(

Ciao
Stefan

Verfasst: 11.07.2008 21:52
von 4seven
felxibel ist es allemal. das "teil" lässt in den standardeinstellungen halt kein php innerhalb von templates zu, was ich richtig und wichtig finde. ergo, entweder man macht das komplette "teil" unsicher, weil man global php zulässt oder man muss um die ecke denken :wink:

Verfasst: 12.07.2008 09:21
von etienne77
Hallo 4seven,

naja das ist Ansichtssache.

Ich versuche jetzt einige Herausforderungen über die DB zu umgehen. Dazu benötige aber die SID als Variable.
Kann ich die Sessionid nur im Header ermitteln lassen?
Ansonsten bräuchte ich ja eine zusätzliche DB-Abfrage auf die Session Tabelle oder?

---------------------------------------

P.S. Inzwischen habe ich eine Lösung gefunden. Ich puffere die Postvariblen+IP in einer DB-Tabelle(die Datenbank da weiss man was man hat :) ) zwischen und greife nachher dort wieder aufs sie zu und binde die Ergebnisseite per iframe ein.


Allerdings sieht die Schrift im Iframe etwas anders aus. Aber das lasst sich vielleicht noch anpassen.



Ciao
Stefan