PHP Counter mit Reloadsperre

Flou

Active member
#1
Suche ein php-script mit reloadsperre das die Besucher auf meiner HP zählt. sollte ohne mysql o.ä. funktionieren sondern nur mit einer .txt Datei.
 

Flou

Active member
#4
Der Script von Memphis funktioniert einwandfrei, thx.
Hier noch der Code für die Nachwelt:
PHP:
<?
//Deine Einstellungen

$numip = \"10\"; //Anzahl der IP-Nummern, die gespeichert werden sollen 
$font = \"verdana\"; //gewuenschte Schriftart eingeben
$fontsize = \"2\"; //gewuenschte Schriftgroesse eingeben / Standard ist 2
$fontcolor = \"#000000\"; //gewuenschte Schriftfarbe eingeben
$datum = \"\"; // Datum, ab wann gezählt wird ( z.B. 05.07.2001 od. 5. Juli 2001)

#######################################################
// Setzen der 'file dir'

$anzdir=\"anzahl.txt\" ;
$ipdir=\"ip.txt\" ;

#######################################################
// Nur editieren, wenn du weißt was du tust !!!

if (file_exists($anzdir) AND ($ipdir))
{ 
	global $REMOTE_ADDR, $ipdata, $userip1;	
	$userip = $REMOTE_ADDR ;
	$ipfile = fopen($ipdir,\"r+\");
	$ipfile1 = fgets($ipfile,200);
	$ipdata = explode(\":\",$ipfile1);
	
	if (in_array($userip, $ipdata))
	{
		global $nummer; 
		$anzahl = fopen(\"$anzdir\", \"r+\") ;	
	   	$nummer = fgets($anzahl,9);
	   	
		fclose($anzahl);
	}
	else	
	{	
		global $num, $userip;
		$num = count($ipdata);
		
		if ($num <= $numip)
		{
			fputs($ipfile,$userip.\":\");
			fclose($ipfile);
			$anzahl = fopen(\"$anzdir\", \"r+\");	
 	  		$nummer = fgets( $anzahl, 9 );  
 	  		$nummer++; 
 	  		fseek($anzahl, 0); 
 	 		fputs( $anzahl, $nummer );
			fclose($anzahl);
		}
		else
		{
			global $ipdata9, $push;
			$pop = array_pop($ipdata);
			$ipdata = array_reverse($ipdata);
			array_push($ipdata,$userip);
			$ipdata = array_reverse($ipdata);
			$userip2 = implode(\":\",$ipdata);
			$ipfile = fopen($ipdir,\"w+\");
			fputs($ipfile,$userip2);
			fclose($ipfile);
			
			$anzahl = fopen(\"$anzdir\", \"r+\");	
 	  		$nummer = fgets( $anzahl, 9 );  
 	  		$nummer++; 
 	  		fseek($anzahl, 0); 
 	 		fputs( $anzahl, $nummer );
			fclose($anzahl);
		}
	}
}
else
{
	if (file_exists($ipdir))
	{
		global $nummer;
		$fo = fopen($anzdir,\"w+\");
		fputs($fo, 1);
		$nummer = 1;
	}
	else
	{
		global $nummer;
		$foip = fopen($ipdir, \"w+\");
		fputs($foip, $REMOTE_ADDR.\":\");
		fclose($foip);
		$foan = fopen($anzdir,\"w+\");
		fputs($foan, 1);
		$nummer = 1;
	}
}
$date = addslashes($datum);
echo \" <font face=$font size=$fontsize color=$fontcolor><b>$nummer </b><br>Besucher seit <br>$date\";
?>
 
#5
mal ne frage von nem PHP beginner wie ich einer bin:
Wie mache ich es das er den counterstand z.b. unter meine navigation setzt ?
 
#6
Du kannst es entweder so machen, dass du unter deine Navigation ein "<iFrame>" (innerFrame) erstellst und dort die obige PHP-Seite angibst (dort wird ja mit dem Befehl "echo" die Variable ausgegeben), oder du schreibst deine Seite komplett in PHP und setzt das "echo" an die Stelle, an der die Besucherzahl stehen soll.
Wenn du deine Seite in PHP schreiben willst, nimmst du einfach den HTML-Quelltext und schreibst ihn folgendermaßen:
<?php
echo '<html>
<head>
....';
?>

Bei weiteren Fragen posten...

Gruß Thomas.
 
#7
hoi meine html sites in php tags zu setzen kann es ja auch nicht sein und iframes werden nicht von allen browser unerstütztt *leider*
irgenwie muß man die Variable doch aich so einlesen können
 

Mackz

Member of Honour
#8
<?php include($variable); ?>
einfach an eine beliebige stelle in der html setzen
dazu muss sich die eigentliche php counterfunktion allerdings in der selben html befinden

wenn du in deine html z.b. eine andere (externe) php einbetten willst, würde ich einfach einen frame dafür verwenden.

iframe wird ab IE3 bzw. NS6 unterstützt.
würde ich allerdings auch nicht unbedingt verwenden.
 
#9
schreib den ganzen counter doch einfach in eine datei counter.php und include sie!

<? include("counter.php"); ?>

das kannste hinsetzten , wo du willst!
 
#10
"Includen" kann man sie aber doch auch nur in einer PHP-Datei, wo wir wieder beim Problem wären, dass er die HTML-Tags nicht umschreiben will (was eigentlich überhaupt keine Arbeit wäre). Du kannst ja nicht einfach in einer HTML-Datei den Befehl
<? include("counter.php"); ?>
einbetten...oder hab ich irgendetwas verpasst??
Wenn ich mich vertue, belehrt mich bitte eines besseren ;)

Gruß Thomas.
 
Oben