Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Bei bestimmten Zählerstand soll ein Gewiiser Text ausgegeben werden





Frage

Hi, habe eine kleine Frage..... Ich möchte, dass wenn der Counter bei 2000, 3000, 4000 oder welcher Zahl auch immer ist, ein gewisser Text, wie z. B. „Herzlichen Glückwunsch“ oder so ausgegeben wird. Der Counter liegt bei mir auf den Server, so kann man die Zahl direkt aus der Variablen ($counter) abgreifen..... Nunja, noch mal wegen dem Counter-Script: Soweit ich weiß ist es von Self-PHP, somit vermutlich weit bekannt.... Habe es leider trotzdem nicht hinbekommen..... Vielen Dank für eure Antworten!!!!! Mit freundlichen Grüßen Jan

Antwort 1 von Nessus

Hi,

Zitat:

Nunja, noch mal wegen dem Counter-Script: Soweit ich weiß ist es von Self-PHP, somit vermutlich weit bekannt....


Dein Posting geht ein in die Hall of Fame der Postings die nicht beantwortete werden können.
Sollen wir jetzt alle beim Selfphp nach deinem Counterscript suchen??

Nessus

Antwort 2 von rabies

Hi,

Ein breites Grinsen schmückt mein Gesicht beim lesen der 1. Antwort. Da hat Nessus wohl recht - poste lieber mal das Counterscript. ;)

Und nicht jeder schwört auf SelfPHP - ich verzichte ganz drauf. ;D

Antwort 3 von Killerbarbe

Hi,
ja ist mir schon klar das ihr da jetzt nicht nachschaut!!
Aber wie der Wert in die Variable $Counter geschrieben wird, ist doch eigentlich unwichtig, oder seht ihr das anders? Falls ihr wollt kann ich es gerne Posten, dachte aber dann ließt mans erst gar nicht weil es dann sooooooooooo lang ist.....

Nunja, also das Skript:

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



<?php

// wie lange gilt wird eine ip nicht als neuer besucher gewertet (in minuten)

$t_counter=2;

// wie lange gilt besucher als online (in minuten)

$t_user_online=5;

// pfad zum besucherzaehler

$p_counter=´counter.log´;

// pfad zur datei, die maximale zahl gleichzeitiger nutzer speichert

$p_counter_max=´counter_max.log´;

// pfad zur datei, die die ips des besucherzaehlers speichert

$p_ips_counter=´ips_counter.log´;

// pfad zur datei, die die ips der aktuell auf der seite befindlichen user speichert

$p_ips_user_online=´ips_user_online.log´;



// nicht vorhandene dateien erstellen

// wenn dateien vorhanden sind und skript einwandfrei laeuft, dann diese zeilen auskommentieren (// davor)

if (!file_exists($p_counter))

{ $fh=fopen($p_counter, ´w´); fwrite($fh, "0"); fclose($fh); }

if (!file_exists($p_counter_max))

{ $fh=fopen($p_counter_max, ´w´); fwrite($fh, time().´#0´); fclose($fh); }

if (!file_exists($p_ips_counter))

{ $fh=fopen($p_ips_counter, ´w´); fclose($fh); }

if (!file_exists($p_ips_user_online))

{ $fh=fopen($p_ips_user_online, ´w´); fclose($fh); }



// daten einlesen

$temp=file($p_counter); $counter=$temp[0];

$temp=file($p_counter_max); $counter_max=explode(´#´, $temp[0]);

$ips_counter=file($p_ips_counter);

$ips_user_online=file($p_ips_user_online);

$ip=$_SERVER[´REMOTE_ADDR´];



// user online - noch gueltige ips raussuchen

$i=0; $j=0; $ip_exists=0;

while ($i < count($ips_user_online))

{

$temp=explode(´#´, trim($ips_user_online[$i]));

if (time() < $temp[0]+$t_user_online*60)

{

$ips[$j]=$ips_user_online[$i]; $j++;

// wenn ip des aktuellen besuchers gefunden, dann vermerken

if ($temp[1]==$ip) { $ip_exists=1; }

}

$i++;

}

// wenn aktuelle ip nicht gefunden wurde ($ip_exists==0) oder alle entsorgt wurden, dann diese hinzufuegen

if (!isset($ips) && $ip_exists==1 || $ip_exists==0)

{ $ips[$i]=time().´#´.$ip; }

// anzahl felder von $ips entspricht anzahl der user online

$user_online=count($ips);

// wenn aktuelle zahl besucher groesser als letztes maximum, dann ueberschreiben und neu einlesen

if ($user_online>$counter_max[1])

{

$fh=fopen($p_counter_max, ´w´);

fwrite($fh, time().´#´.$user_online);

fclose($fh);

$temp=file($p_counter_max); $counter_max=explode(´#´, $temp[0]);

}

// die ips speichern

$fh=fopen($p_ips_user_online, ´w´);

fwrite($fh, join("\n", $ips));

fclose($fh);



// besucherzaehler - noch gueltige ips raussuchen

$i=0; $j=0; $ip_exists=0;

while ($i < count($ips_counter))

{

$temp=explode(´#´, trim($ips_counter[$i]));

if (time() < $temp[0]+$t_counter*60)

{

$ips[$j]=$ips_counter[$i]; $j++;

// wenn ip des aktuellen besuchers gefunden, dann vermerken

if ($temp[1]==$ip) { $ip_exists=1; }

}

$i++;

}

// wenn aktuelle ip nicht gefunden wurde ($ip_exists==0) oder alle entsorgt wurden, dann diese hinzufuegen

if (!isset($ips) && $ip_exists==1 || $ip_exists==0)

{

$ips[$i]=time().´#´.$ip;

$counter++;

$fh=fopen($p_counter, ´w´);

fwrite($fh, $counter);

fclose($fh);

}

// die ips speichern

$fh=fopen($p_ips_counter, ´w´);

fwrite($fh, join("\n", $ips));

fclose($fh);




echo "<div align=´center´ class=´counter´>User: ".$counter."</div>";

echo ´User online: ´.$user_online.´<br>´;

echo ´Max Users @ ´.date("d.m.Y", $counter_max[0]).´: ´.$counter_max[1].´´;



?>




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

Sorry.... Ich hättte es echt gleich posten können......


MFG jan

Antwort 4 von Nessus

Hi,

das ist einfach:


<?php
if ($counter == "10000"|"20000")
{
	echo"Sie sind der ".$counter."te Besucher";
}
?> 



HTH

Nessus

Antwort 5 von Killerbarbe

Hi,

vielen Dank für das Skript!!!!!!

Also das ist echt peinlich das ich das nicht hinbekommn habe.......
Naja, ich verwende PHP nicht wirklich oft...

Vielen Dank!!!!!

MFG Jan

Antwort 6 von Gelter

Wenn Du in Antwort 4 die Zeile mit "if" hierdurch ersetzt, kommt die Meldung bei allen vollen Tausendern:
if(!($counter%1000))
Dann mußt Du nicht immer nacheditieren ..

Gruß,
Gelter

Antwort 7 von Killerbarbe

Hi,
vielen Dank für die sehr hilfreichen Posts!!!!!!

Dies ist mit abstand das Beste Forum, hier wird einem sehr schnell meistens auch sehr freundlich geholfen!!! (Habe einige Threads gesehen, da war es ein einziger Streit..... Sonst aber echt Perfekt!!!)


Weiter so!!

MFG Jan