Seite 1 von 2

PHP-Code im overall_header

Verfasst: 03.08.2008 21:57
von derbob
Hallo Leute...

ich möchte in meine Overall-Header.tpl einen PHP-Code integrieren.
Nun habe ich den folgenden Artikel gelesen:
http://www.phpbb.de/doku/kb/artikel.php ... ate_syntax

Irgendwie raffe ich das nicht ganz... ich habe ein wenig Angst meine *.tpl kaputt zu machen und daher die Frage:

wie baue ich den Code in den overall_header ein? Bei dem Code handelt es sich um eine MySQL-Datenbankanbindung, es wird nichts im Code über ECHO ausgegeben.

Verfasst: 04.08.2008 00:54
von porfavor
Php in Templates ist mir neu. Wieso muss das denn unbedingt im Template sein.

Poste den code mal.

Verfasst: 04.08.2008 05:43
von derbob

Code: Alles auswählen

<?
$host = "XXX";
$user = "XXX";
$pass = "XXX";
$database = "XXX";
$dz = mysql_connect($host, $user, $pass);
mysql_select_db($database, $dz);
$query = "INSERT into XXX "
          ."(tlogid, tlwann, tlbrows, tlref)"
          ."VALUES "
          ."('$tlogid', '$tlwann', '$tlbrows', '$tlref')";
$dummy = mysql_query($query);
          mysql_close($dz);
?>
Dieser Code soll hat die Zugriffe auf das Forum dokumentieren, nur weiß ich leider nicht, wo ich ihn einbasteln soll... wenn ich ihn in den overall_header setze, wird er nicht ausgeführt...

Verfasst: 04.08.2008 09:57
von S2B
Ist diese Tabelle in der gleichen Datenbank wie die des Forums? Dann würde ich nämlich keine neue DB-Verbindung aufbauen...

Den Code könntest du z.B. in der includes/page_header.php einfügen - die Stelle ist relativ egal.

Verfasst: 04.08.2008 19:28
von derbob
Nein, bei der Datenbank handelt es sich um eine andere Datenbank als die, in der phpBB arbeitet... geht das dennoch mit der page_header.php?

Verfasst: 04.08.2008 19:53
von derbob
So, ok, ich habe es hinbekommen... vielen Dank für Eure Mühen und Hilfen.

Wenn mir jetzt noch jemand sagt, wie ich den Topic eines Threads in den Page-Title integrieren kann? <title>Thread-TOPIC</title>
Habe da vor längerem schonmal nen Thread eröffnet, aber dieser erfreut sich vielen Aufrufen, aber keinen Antworten. :cry:

Verfasst: 04.08.2008 23:31
von S2B

Code: Alles auswählen

$title_topic = <Topic-ID>;

$sql = 'SELECT topic_title
FROM ' . TOPICS_TABLE . '
WHERE topic_id = ' . intval($title_topic);
if (!$result = $db->sql_query($sql))
{
   message_die(GENERAL_ERROR, 'Could not obtain title topic', '', __LINE__, __FILE__, $sql);
}

$topic_title = $db->sql_fetchfield('topic_title', 0, $result);
$db->sql_freeresult($result);
$topic_title enthält dann den Titel des Themas. :wink:

Verfasst: 05.08.2008 00:49
von porfavor
nicht im html {TOPIC_TITLE} vergessen.

Verfasst: 05.08.2008 11:29
von FCM
porfavor hat geschrieben:nicht im html {TOPIC_TITLE} vergessen.
Den müsstest du in der page_header.php aber noch definieren. Wenn du die Variable $topic_title hast (S2B hat es dir schon gezeigt) musst du nach ...

Code: Alles auswählen

$template->assign_vars(array(
das hier einfügen:

Code: Alles auswählen

'TOPIC_TITLE' => $topic_title,
einfügen. Somit könntest du den Titel dann mit {TOPIC_TITLE} im HTML aufrufen.

Verfasst: 06.08.2008 19:57
von derbob
Jetzt nochmal ganz langsam für Dumme :)
Der folgende Code muss in die includes/page_header.php eingefügt werden?

Code: Alles auswählen

$title_topic = <Topic-ID>; 

$sql = 'SELECT topic_title 
FROM ' . TOPICS_TABLE . ' 
WHERE topic_id = ' . intval($title_topic); 
if (!$result = $db->sql_query($sql)) 
{ 
   message_die(GENERAL_ERROR, 'Could not obtain title topic', '', __LINE__, __FILE__, $sql); 
} 

$topic_title = $db->sql_fetchfield('topic_title', 0, $result); 
$db->sql_freeresult($result);
bis dahin scheint mir das alles noch logisch, dann wird es dunkel, da ich immer noch nicht ganz raffe, wie ich von der overall_header.tpl, in der sich ja mein TITLE-TAG befindet, auf die erstelle Variable $title_topic zugreifen kann.