Zum Inhalt springen

PHP-Counter

Erstellt am 1. Dezember 2005 · 3 Antworten · letzte Antwort am 3. Dezember 2005

Tags: Frage

LarsRacing ·

Hallo
Ich habe in meinem template einen PHP Counter programmiert. Dieser wird aber im Frontend nicht angezeigt Habe das template so abgelegt: xyz.php Ist dies schon falsch? Gibt es noch eine adere gute Möglichkeit einen Aufruf-Counter in eine typo3 Seite einzubauen?

MfG
Lars

woida ·

Da du keine konkreten Infos (TS, PHP-Code) lieferst, wirst du wohl auch keine konkrete Antwort erwarten.

Einen fertigen Counter kannst du aber beispielsweise über eine Extension einbinden.

LarsRacing ·

Das ist mein PHP im main_templ.php

<?php 
$counter = fopen("counter.txt", "r+");

$counterstand = fgets($counter, 10);

if($counterstand ==""){
$counterstand = 0;
}
$ip = $_SERVER['REMOTE_ADDR'];
$ipdatei = fopen("ip.txt", "r+");
$ipslesen = fgets($ipdatei, 100);

if($ip == $ipslesen){
	// drin, block!
}else{
	// nid drin, counter+1, ip dri schribe
	$counterstand++;
	rewind ($counter);
	rewind($ipdatei);
	fwrite ($counter, $counterstand);
	fwrite ($ipdatei, $ip);

}¨
echo $counterstand;
?>

Und dies ist mein TS zu http://www.larspeyer.ch/arbeitsbuch

seite = PAGE
seite.typeNum = 0
seite.bodyTag = <body bgcolor="#ffffff" leftmargin="0" marginheight="0" marginwidth="0" topmargin="0">
seite.stylesheet = fileadmin/style.css
seite.10 = TEMPLATE
seite.10 { 
   template = FILE
   template.file = fileadmin/main_templ.php
   workOnSubpart = DOKUMENT
   marks.HEADERIMGLEFT < styles.content.getLeft
   marks.INHALT < styles.content.get
   marks.HEADERIMG < styles.content.getRight
   marks.SUBNAVIGATION < styles.content.getBorder


###Menue###

marks.MENUE= HMENU
marks.MENUE.entryLevel = 0
marks.MENUE.1 = TMENU
marks.MENUE.1 {
   NO {
      allWrap = <tr><td class="navi" height="20">|</td></tr>
      ATagParams=class="navi"
   }
   ACT = 1
   ACT {
      allWrap = <tr><td class="navi_active" height="20">|</td></tr>
      ATagParams=class="navi_active"
   }
}

marks.MENUE.2 = TMENU
marks.MENUE.2 { 
   NO {
      allWrap = <tr><td class="navi" height="20">|</td></tr>
      ATagParams=class="navi"
      beforeImg = fileadmin/img/pfeilchentrans.gif
      beforeROImg = fileadmin/img/pfeilchen.gif
      RO = 1
   }
   ACT = 1
   ACT {
      allWrap = <tr><td class="navi_active" height="20">|</td></tr>
      ATagParams=class="navi_active"
      beforeImg = fileadmin/img/pfeilchen.gif
   }
}

}

tt_content.image.20.spaceBelowAbove = 0

Ich möchte nun da wo ###COUNTER### steht eine Aufrufzähler einbauen.

MfG
Lars

woida ·

Zum einen steht in deinem Template nirgends ###COUNTER### zum anderen ist das ein falscher Ansatz:
Wenn du schon einen Counter selbst programmierst, wieso verwendest du dann nicht MySQL?
Das entscheidende ist aber, daß du mit echo nichts in einen marker oder subpart ausgeben kannst. Da solltest du dich mal über Extensionprogrammierung informieren.
Eine andere Möglichkeit wäre ist Ext php_page_content zu verwenden, dann kann du über echo Ausgaben machen.
(oder du installierst gleich eine Counter-Ext)