Frage zur Templateengine

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
kenguruh2002
Mitglied
Beiträge: 4
Registriert: 02.09.2005 03:51

Frage zur Templateengine

Beitrag von kenguruh2002 »

Hallo,

ich beschäftige mich gerade mit dem phpbb Template System. Was auch im ganzen meine ersten Erfahrungen sind mit der Materie php und html Code zu trennen.

Folgende Frage / Problem habe ich jetzt.

Wenn ich die {ADBANNER} mit meiner Funktion fülle, zählt er anstatt 1 View immer gleich 2 hinzu.

Warum ist das so?

Hier erstmal die vereinfachte header.php:

Code: Alles auswählen

$template = new Template('templates');
$template->set_filenames(array(
      'header' => 'header.html'
      )
);

$template->assign_vars(array(
      'ADBANNER' => show_vbanner('468x60|234x60', 1),
      )
);

$template->pparse('header');
jetzt die Function show_vbanner, sehr vereinfacht:

Code: Alles auswählen

function show_vbanner($format, $limit)
{
      global $db_connect;

      // alles zum ermitteln des Banners
      ....

      // jetzt Anzahl View um 1 erhöhen
      $db_connect->query("UPDATE ".KAMPAGNEN_TABLE." SET view = view + 1 WHERE bid = '$bid'");

      // Ausgabe des Banners
      return $return;
}
Also eigentlich sollte das ja auch funktionieren. Macht es auch, wenn ich auf einer normalen Seite, also wo ich kein Template benutze ausgebe.

Code: Alles auswählen

echo show_vbanner('468x60|234x60', 1);
Hierbei wird genau um 1 View erhöht.

Über eine Antwort würde ich mich sehr freuen.
Benutzeravatar
Spezial
Mitglied
Beiträge: 135
Registriert: 15.07.2004 08:53
Wohnort: Braunschweig
Kontaktdaten:

Beitrag von Spezial »

Vielleicht hast du {ADBANNER} in der TPL-Datei irgendwo zweimal stehen? Dann wird es ja doppelt gezählt...ansonsten weiß ich auch nicht.
Wenn Chuck Norris ins Wasser fällt, wird er nicht nass…aber das Wasser wird Chuck Norris.
Benutzeravatar
kenguruh2002
Mitglied
Beiträge: 4
Registriert: 02.09.2005 03:51

Beitrag von kenguruh2002 »

Hallo,

daran hatte ich auch schon gedacht, habe aber dann zum testen in der header.html einfach nur {ADBANNER} eingesetzt und dann passiert das gleiche.

Irgendwie kommt es mir so vor, als ob die Seite nen reload macht, oder was auch immer.

Noch ein anderer nen Vorschlag?
Antworten

Zurück zu „Coding & Technik“