Autor |
Nachricht |
new001
Threadersteller
Dabei seit: 16.02.2006
Ort: Sundern
Alter: 37
Geschlecht:
|
Verfasst Do 16.02.2006 14:39
Titel useronlinescript funktioniert nicht richtig |
|
|
hallo MGI User,
habe ein problem mit einem Script. Ich hoffe Ihr könnt mir weiterhelfen..denn ich werd solangsam verrückt hier.
das script:
Code: | <?
##########################################################################
# http://www.michatronic.de
# PHP Scripte, Tools für Windows, Tutorials ...
##########################################################################
#
# mt onlinecounter v 1.0
#
# Autor: Michael Knothe (michatronic@web.de)
#
# (C) 2006, Michael Knothe
#
# Dieses Script darf kostenlos genutzt werden.
# Es wäre jedoch nett, wenn Du auf Deiner Homepage einen Link zu
# MICHATRONIC.DE setzen würdest. :-)
# Um dieses Script konventionell nutzen zu dürfen, musst Du eine
# Lizenz erwerben. Bei Interesse melde Dich bitte per Mail bei mir.
# Dieses Script darf nicht ohne meine Genehmigung verkauft oder
# verbreitet werden. Ausser dem Layout und der Zeit für gültige Einträge
# darf nichts verändert werden.
#
#
# INSTALLATION: Vorraussetzung ist php > 4.0.
# Kopiere die beiden Dateien in das Verzeichnis, in welches
# Du den Counter einbinden möchtest. Binde den Counter mit
# "</?php include("usonline.php"); ?/>" (ohne Anführungszeichen und Schrägstriche) an eine
# beliebige Stelle einer php - Datei ein.
# Die Rechte für die Datei useronline.csv müssen mit einem chmod 777
# auf Deinem Webserver angelegt werden.
#
# Damit ist das Script einsatzbereit.
#
# Viel Spaß. --> Michael Knothe
#
###########################################################################
echo '<body><style type="text/css">
.textus { color:#FFFFFF; ;font-size:9;font-family:Arial;}
</style>';
$count=0;
$time = time();
$ip = getenv(REMOTE_ADDR);
$text=$time."#".$ip."\n";
$filename="usonline.csv";
$zeile = file($filename);
//prüfen und neu schreiben der gültigen Einträge
$fp = fopen($filename , "w");
ftruncate ($fp, 0);
rewind($fp);
foreach($zeile as $schreiben)
{
$array = explode("#",$schreiben);
if($ip==rtrim($array[1])){$vorhanden=1;}
//Hier kann die Aufenthaltszeit eingetragen werden
if($array[0] > $time -100 & $ip!=$array[1])
{
fwrite ($fp, $schreiben, 750);
}
}
fclose($fp);
$id = filesize($filename);
//neuen Eintrag hinzufügen
if($vorhanden!=1 or $id==0){
$datei = fopen($filename,"a");
flock($datei,2);
fwrite($datei,$text,750);
flock($datei,3);
fclose($datei);
}
//Ausgabe
for($x=0;$x<count($zeile);$x++){$count=$count+1;}
echo '<font class=airal2>'; echo $count;echo ' User online</font>';
?> |
diese datei habe ich via inlcude-Befehl in eine index.php datei eingebungen.
die wurde von einem Programmierer erstellt den ich nicht kenne und keine ahnung eigentlich von php hab. lediglich schnitsel kann ich irgendwie verwenden und duch probieren kommt manichmal was gescheites bei raus.
kann mir aber jemand sagen warum das nicht funktioniert ?
meine index datei ist in PHP 4 geschrieben.
|
|
|
|
|
phar
Dabei seit: 16.02.2006
Ort: Aachen
Alter: -
Geschlecht:
|
Verfasst Fr 17.02.2006 02:54
Titel
|
|
|
hi! versuchs mal nicht mit nem include sondern packs direkt in deine index.php mit rein.
um sowas per include zu machen, sind nämlich diverse besonderheiten zu beachten.
und der onlinecounter da scheint nicht dafür vorgesehen zu sein.
hope it helps!
phar
|
|
|
|
|
Anzeige
|
|
|
seal
Dabei seit: 31.07.2005
Ort: Pfalz
Alter: 41
Geschlecht:
|
Verfasst Fr 17.02.2006 02:58
Titel
|
|
|
Zitat: | # INSTALLATION: Vorraussetzung ist php > 4.0.
# Kopiere die beiden Dateien in das Verzeichnis, in welches
# Du den Counter einbinden möchtest. Binde den Counter mit
# "</?php include("usonline.php"); ?/>" (ohne Anführungszeichen und Schrägstriche) an eine
# beliebige Stelle einer php - Datei ein.
# Die Rechte für die Datei useronline.csv müssen mit einem chmod 777
# auf Deinem Webserver angelegt werden.
#
# Damit ist das Script einsatzbereit. |
|
|
|
|
|
phar
Dabei seit: 16.02.2006
Ort: Aachen
Alter: -
Geschlecht:
|
Verfasst Fr 17.02.2006 03:20
Titel
|
|
|
na lesen kann ich schon auch aber hast du mal dran gedacht,
daß für solche includes z. B. alle variablen unique und eindeutig
sein müssen? und die sind in diesem counter-dings da ja nun eher
allgemein gehalten, sprich falls in deiner index.php sonst irgendwo
$count oder $time oder $text etc benutzt wird, funzt schon nix mehr.
nicht alles, in solchen gratis-skripts ist nämlich auch immer so!
phar
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst Fr 17.02.2006 12:21
Titel
|
|
|
Zitat: | useronlinescript funktioniert nicht richtig |
aha. was heißt: "funktioniert nicht richtig"?
was passiert? was passiert nicht? welche fehlermeldungen bekommst du?
Zitat: | habe ein problem mit einem Script. |
ja, aber was das problem ist, solltest du vielleicht auch schreiben...
Zitat: | denn ich werd solangsam verrückt hier. |
ja, ich auch...
Zitat: | kann mir aber jemand sagen warum das nicht funktioniert ? |
nein. du sagst uns ja nicht, was passiert...
- schreib was "funktioniert nicht richtig" bedeutet.
- poste die fehlermeldung, die zeilennummer und die entsprechende zeile in deinem code (und die zeile davor).
- wenn es keine fehlermedlung gibt, dann beschreib, was nicht klappt bzw. was passiert.
- poste doch mal deinen code. also nicht nur dieses script, sondern wie du das script in deine datei eingebunden hast.
die include-funktion wird ausgeführt? die pfade stimmen?
EDIT:
Zitat: | Binde den Counter mit
[...] an eine beliebige Stelle einer php - Datei ein. |
?
das sieht mir aber nicht so aus, als könne man das an jeder beliebigen stelle einbinden...
das script gibt ja body-tags aus...
je nachdem, wo du das einbindest, hat dein script dann zwei bodies, was natürlich nicht sein darf...
oder einen body im head, was auf den gleichen mist rauskommt...
Code: | echo '<body><style type="text/css">
.textus { color:#FFFFFF; ;font-size:9;font-family:Arial;}
</style>'; |
und dieser style-bereich ist so im body natürlich auch sehr unschön...
davon abgesehen folgt dann auch noch schrecklicher css-code.
9 was?
9em; ? 9px; ? 9pt; ? 9ex; ?
9 elefanten? 9 würstchen?
da würde ich ja mal 'ne einheit hinter setzen...
und in jedem fall sollte man als letzte angabe eine generische schrift-familie wählen:
Code: | font-family:Arial, sans-serif; |
Zuletzt bearbeitet von rob am Fr 17.02.2006 12:30, insgesamt 2-mal bearbeitet
|
|
|
|
|
new001
Threadersteller
Dabei seit: 16.02.2006
Ort: Sundern
Alter: 37
Geschlecht:
|
Verfasst Do 23.02.2006 02:26
Titel
|
|
|
also erstmal vielen dank für die hilfe !
@phar:
hab beides probiert! Via include und direkt ins skript. geht beides nicht
@rob:
es kommt keine fehlermeldung oder sonst was. er zählt einfach nicht.. es steht immer die 1 da.. also 1 User online...auch wenn 3 oder ne millionen drauf sind... steht immer 1 da..
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst Do 23.02.2006 09:31
Titel
|
|
|
Zitat: | es steht immer die 1 da.. also 1 User online...auch wenn 3 oder ne millionen drauf sind... steht immer 1 da.. |
Dann mußt Du halt auf Fehlersuche gehen...
- Schau, ob die Datei korrekt erstellt wird.
- Schau, ob die Dateirechte korrekt gesetzt sind.
- Schau, was in die Datei geschrieben wird.
- Mache sichtbar, was dein Script tut. Setze z.B. echo-Aufrufe in deine if-Blöcke. Dann siehst Du, ob der Code darin ausgeführt wird. Wenn nicht, muß Du mal schauen, warum eine Bedingung nicht zurifft, usw..
BTW: Solche Onlinecounter bringen es eh nicht... Das weißt Du? Aufgrund des HTTP kann das gar nicht wirklich funktionieren. Du kannst nur Scripte schreiben, die mehr oder weniger schlecht raten...
http://www.php-faq.de/q/q-code-user-online.html
|
|
|
|
|
|
|
|
Ähnliche Themen |
Codepen - wie funktioniert's?
Shopsystem - Wie funktioniert es
get URL () funktioniert nicht
wie Funktioniert das mit ADOdb
wie funktioniert so ein muster?
Wie funktioniert SEO (Grundsätze)
|
|