Benuterzähler
lima-city → Forum → Die eigene Homepage → Homepage Allgemein
adresse
anfhrungsstriche
befehl
beitrag
besucher
counter
date
datei
fehler
fehlermeldung
insert
mache
monat
nutz
ordner
rekord
show
tutorial
zeile
zhler
-
Hallo Leute,
wie so oft ich habe wieder eine frage an euch. Kann man einen Benutzerzähler erstellen ohne das man sich bei i-einer anderen seite anmeldem muss? (ich habe mal gegoogelt und habe nur wo man sich anmelden muss gefunden, ich will aba einen in html oder php haben geht das?)
ich bitte um hilfe :P
mfg -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ok ich habe bis gerade an einem gesesen von http://www.webmaster-resource.de/tricks/php/counter-programmieren.php aber das funtz net so wirklich naja egal ich guck dann mal das müsste ich ja mitlerweile hinbekommen mit dem Tutorial habe ja gerstern viel gelernt :P
-
So ne Art von Counter gibts auch bei Bambusratte.com der zeigt immer an wieviele Benutzer gerade die Seite beesuchen( ohne anmeldung)
-
ich will aber meinen eigenen in ner html oder php datei
ich habe jetzt den benutzerzähler von der folgenden seite benutzt:
http://www.lima-city.de/tutorials/show/1547
und dann kommt die fehlermeldung die auf der folgenden seite zu sehen ist
http://altialtenweg.lima-city.de/neue_seiten/counter.php
was mache ich falsch?
mfg -
was mache ich falsch?
Wenn du einfach mal deinen Code postest, dann könnten wir dir vielleicht helfen.
Ich vermute, du hast einen . ein ; oder ein ' vergessen. -
das ist der code:
<?php
$dbhost = 'mysql.lima-city.de';
$dbuser = 'USER82495';
$dbpassword = '*******';
$dbbase = 'db_82495_1';
mysql_connect($dbhost,$dbuser,$dbpassword);
mysql_select_db($dbbase);
$today = date('Y-m-d');
$yesterday = date('Y-m-d',strtotime('-1 day'));
$this_month = date('m');
$this_year = date('Y');
$pruefe_ip = mysql_query('SELECT ip FROM counter WHERE ip=''.getenv (REMOTE_ADDR).''');
$zeilen = mysql_num_rows($pruefe_ip);
if($zeilen==0)
{
mysql_query('INSERT INTO counter ( ip , date, time )VALUES ( ''.getenv (REMOTE_ADDR).'', ''.$today.'', ''.time().'')');
}
$hole_daten_jetzt = mysql_query('SELECT time FROM counter WHERE time>''.(time()-300).''');
$zaehle_jetzt = mysql_num_rows($hole_daten_jetzt);
$hole_daten_heute_online = mysql_query('SELECT date FROM counter WHERE date = ''.$today.''');
$zaehle_heute = mysql_num_rows($hole_daten_heute_online);
$hole_daten_gestern_online = mysql_query('SELECT date FROM counter WHERE date = ''.$yesterday.''');
$zaehle_gestern = mysql_num_rows($hole_daten_gestern_online);
$hole_daten_diesen_monat_online = mysql_query('SELECT date FROM counter WHERE date LIKE ''.$this_year.'-'.$this_month.'%'');
$zaehle_diesen_monat = mysql_num_rows($hole_daten_diesen_monat_online);
$hole_daten_insgesamt_online = mysql_query('SELECT date FROM counter');
$zaehle_insgesamt = mysql_num_rows($hole_daten_insgesamt_online);
?>
Jetzt online: <?=$zaehle_jetzt?>
Besucher Heute: <?=$zaehle_heute?>
Besucher Gestern: <?=$zaehle_gestern?>
Besucher in diesem Monat: <?=$zaehle_diesen_monat?>
Besucher insgesamt: <?=$zaehle_insgesamt?> -
Versuch mal diese Zeile
<? $pruefe_ip = mysql_query('SELECT ip FROM counter WHERE ip=''.getenv (REMOTE_ADDR).'''); ?>
zu ersetzen, denn dort müsste der Fehler liegen (ist zumindest Zeile 14).
Nimm mal das hier:
<? $pruefe_ip = mysql_query('SELECT ip FROM counter WHERE ip='.$_SERVER['REMOTE_ADDR'].''); ?>
Und zwar genau so, also keine einfachen Anführungszeichen durch doppelte ersetzen. -
Das Problem kommt daher, dass Lima-City doppelte Anführungszeichen durch einfache ersetzt. Deshalb musst du einige Anführungszeichen "escapen". Ich habs mal für dich gemacht:
<?php $dbhost = 'mysql.lima-city.de'; $dbuser = 'USER82495'; $dbpassword = '*******'; $dbbase = 'db_82495_1'; mysql_connect($dbhost,$dbuser,$dbpassword); mysql_select_db($dbbase); $today = date('Y-m-d'); $yesterday = date('Y-m-d',strtotime('-1 day')); $this_month = date('m'); $this_year = date('Y'); $pruefe_ip = mysql_query('SELECT ip FROM counter WHERE ip=\''.getenv (REMOTE_ADDR).'\''); $zeilen = mysql_num_rows($pruefe_ip); if($zeilen==0) { mysql_query('INSERT INTO counter ( ip , date, time ) VALUES ( \''.getenv (REMOTE_ADDR).'\', \''.$today.'\', \''.time().'\')'); } $hole_daten_jetzt = mysql_query('SELECT time FROM counter WHERE time>\''.(time()-300).'\''); $zaehle_jetzt = mysql_num_rows($hole_daten_jetzt); $hole_daten_heute_online = mysql_query('SELECT date FROM counter WHERE date = \''.$today.'\''); $zaehle_heute = mysql_num_rows($hole_daten_heute_online); $hole_daten_gestern_online = mysql_query('SELECT date FROM counter WHERE date = \''.$yesterday.'\''); $zaehle_gestern = mysql_num_rows($hole_daten_gestern_online); $hole_daten_diesen_monat_online = mysql_query('SELECT date FROM counter WHERE date LIKE \''.$this_year.'-'.$this_month.'%\''); $zaehle_diesen_monat = mysql_num_rows($hole_daten_diesen_monat_online); $hole_daten_insgesamt_online = mysql_query('SELECT date FROM counter'); $zaehle_insgesamt = mysql_num_rows($hole_daten_insgesamt_online); ?> Jetzt online: <?=$zaehle_jetzt?> Besucher Heute: <?=$zaehle_heute?> Besucher Gestern: <?=$zaehle_gestern?> Besucher in diesem Monat: <?=$zaehle_diesen_monat?> Besucher insgesamt: <?=$zaehle_insgesamt?>
PS:
vergiss nicht, den Smiley durch ) zu ersetzen
Beitrag geändert: 26.6.2007 17:09:11 von sandrock-jonas -
http://altialtenweg.lima-city.de/neue_seiten/counter.php
so ich habe das jetzt gemacht dann habe ich eine weitere frage ich seh jetzt nicht das ich auf der seite war könnte vlt mal ein anderer draufgehn damit ich seh ob es funzt und mir dann bescheidsagen
danke -
es funktioniert anscheinend nicht, denn wenn man draufgeht steht da dass 0 online sind, aber das ist ja falsch weil man selber ja online ist.
ersetze mal das da:
if($zeilen==0) { mysql_query('INSERT INTO counter ( ip , date, time VALUES ( \''.getenv (REMOTE_ADDR).'\', \''.$today.'\', \''.time().'\')'); }
durch das da:
if($zeilen==0) { mysql_query("INSERT INTO counter ( ip , date, time VALUES ('".$_SERVER['REMOTE_ADDR']."', '".$today."', '".time()."')"); }
auf zitieren drücken um die richtigen anführungsstriche zu kriegen.
Beitrag geändert: 26.6.2007 17:45:09 von scrawl -
habe ich gemacht
aber bei funzt es immer noch nicht bei dia/euch?
wenn ich i-was änders soll dann sagst kann wohl was länger dauern bis ich es mache mein dad hat geburtstag und ich bin unten
Beitrag geändert: 26.6.2007 17:55:18 von altialtenweg -
hmm ne funzt nich....
änder es mal in:
if($zeilen==0) { mysql_query("INSERT INTO counter ( ip , date, time VALUES ('".$_SERVER['REMOTE_ADDR']."', '".$today."', '".time()."')") OR die(mysql_error()); }
und das:
$pruefe_ip = mysql_query("SELECT ip FROM counter WHERE ip='".$_SERVER['REMOTE_ADDR']."') OR die(mysql_error()); $zeilen = mysql_num_rows($pruefe_ip);
dann sehen wa worans liegt
oder mal ne gaaaaannz dumme frage: hast du die tabelle erstellt?
Beitrag geändert: 26.6.2007 18:42:01 von scrawl
Beitrag geändert: 26.6.2007 18:43:23 von scrawl -
also ich kann dich beruhigen ich habe ein tabbele angelegt habe gerade den code geänder ma schaun was passiert
habe es ausprobiert jetzt kommt wieder folgende fehlermeldung
http://altialtenweg.lima-city.de/neue_seiten/counter.php
kann mir einer helfen?
warum funzt das net bei mia :(
Beitrag geändert: 26.6.2007 21:48:56 von altialtenweg -
Verwendest du den Code von sandrock-jonas?
Da steht in Zeile 19 nämlich gar nichts außer }.
Du musst uns schon deinen aktuellen Code sagen, wir wissen ja nicht, was du jetzt alles geändert hast. Und Raten ist für eine effiziente Fehleranalyse nicht so sinnvoll. -
<?php $dbhost = 'mysql.lima-city.de'; $dbuser = 'USER82495'; $dbpassword = '*******'; $dbbase = 'db_82495_1'; mysql_connect($dbhost,$dbuser,$dbpassword); mysql_select_db($dbbase); $today = date('Y-m-d'); $yesterday = date('Y-m-d',strtotime('-1 day')); $this_month = date('m'); $this_year = date('Y'); $pruefe_ip = mysql_query("SELECT ip FROM counter WHERE ip='".$_SERVER['REMOTE_ADDR']."') OR die(mysql_error()); $zeilen = mysql_num_rows($pruefe_ip); if($zeilen==0) { mysql_query("INSERT INTO counter ( ip , date, time VALUES ('".$_SERVER['REMOTE_ADDR']."', '".$today."', '".time()."')") OR die(mysql_error()); } $hole_daten_jetzt = mysql_query('SELECT time FROM counter WHERE time>\''.(time()-300).'\''); $zaehle_jetzt = mysql_num_rows($hole_daten_jetzt); $hole_daten_heute_online = mysql_query('SELECT date FROM counter WHERE date = \''.$today.'\''); $zaehle_heute = mysql_num_rows($hole_daten_heute_online); $hole_daten_gestern_online = mysql_query('SELECT date FROM counter WHERE date = \''.$yesterday.'\''); $zaehle_gestern = mysql_num_rows($hole_daten_gestern_online); $hole_daten_diesen_monat_online = mysql_query('SELECT date FROM counter WHERE date LIKE \''.$this_year.'-'.$this_month.'%\''); $zaehle_diesen_monat = mysql_num_rows($hole_daten_diesen_monat_online); $hole_daten_insgesamt_online = mysql_query('SELECT date FROM counter'); $zaehle_insgesamt = mysql_num_rows($hole_daten_insgesamt_online); ?> Jetzt online: <?=$zaehle_jetzt?> Besucher Heute: <?=$zaehle_heute?> Besucher Gestern: <?=$zaehle_gestern?> Besucher in diesem Monat: <?=$zaehle_diesen_monat?> Besucher insgesamt: <?=$zaehle_insgesamt?>
Beitrag geändert: 26.6.2007 23:17:36 von altialtenweg -
<?php $dbhost = 'mysql.lima-city.de'; $dbuser = 'USER82495'; $dbpassword = 'michael3'; $dbbase = 'db_82495_1'; mysql_connect($dbhost,$dbuser,$dbpassword); mysql_select_db($dbbase); $today = date('Y-m-d'); $yesterday = date('Y-m-d',strtotime('-1 day')); $this_month = date('m'); $this_year = date('Y'); $pruefe_ip = mysql_query("SELECT ip FROM counter WHERE ip='".$_SERVER['REMOTE_ADDR']."'") OR die(mysql_error()); $zeilen = mysql_num_rows($pruefe_ip); if($zeilen==0) { mysql_query("INSERT INTO counter ( ip , date, time ) VALUES ('".$_SERVER['REMOTE_ADDR']."', '".$today."', '".time()."')") OR die(mysql_error()); } $hole_daten_jetzt = mysql_query("SELECT time FROM counter WHERE time>"'.(time()-300)."'") OR die(mysql_error()); $zaehle_jetzt = mysql_num_rows($hole_daten_jetzt); $hole_daten_heute_online = mysql_query("SELECT date FROM counter WHERE date = "'.$today."'") OR die(mysql_error()); $zaehle_heute = mysql_num_rows($hole_daten_heute_online); $hole_daten_gestern_online = mysql_query("SELECT date FROM counter WHERE date = '".$yesterday."'") OR die(mysql_error()); $zaehle_gestern = mysql_num_rows($hole_daten_gestern_online); $hole_daten_diesen_monat_online = mysql_query("SELECT date FROM counter WHERE date LIKE '".$this_year."-".$this_month."%'") OR die(mysql_error()); $zaehle_diesen_monat = mysql_num_rows($hole_daten_diesen_monat_online); $hole_daten_insgesamt_online = mysql_query("SELECT date FROM counter") OR die(mysql_error()); $zaehle_insgesamt = mysql_num_rows($hole_daten_insgesamt_online); ?> Jetzt online: <?=$zaehle_jetzt?> Besucher Heute: <?=$zaehle_heute?> Besucher Gestern: <?=$zaehle_gestern?> Besucher in diesem Monat: <?=$zaehle_diesen_monat?> Besucher insgesamt: <?=$zaehle_insgesamt?>
So muss es lauten. Du hast nämlich in Zeile 19 vergessen eine runde Klammer zu schließen.
Beitrag geändert: 26.6.2007 22:47:06 von scrawl
Beitrag geändert: 26.6.2007 22:56:02 von scrawl -
Ich hab zwei Fehler gefunden. In Zeile 14 und 19 waren die doppelten und einzelnen Anführungsstriche falsch gesetzt, wodurch der nachfolgende Code falsch interpretiert wurde, wie man auch an dem highlighting hier im Forum erkennen kann.
So sollte es gehen:
<?php $dbhost = 'mysql.lima-city.de'; $dbuser = 'USER82495'; $dbpassword = 'michael3'; $dbbase = 'db_82495_1'; mysql_connect($dbhost,$dbuser,$dbpassword); mysql_select_db($dbbase); $today = date('Y-m-d'); $yesterday = date('Y-m-d',strtotime('-1 day')); $this_month = date('m'); $this_year = date('Y'); $pruefe_ip = mysql_query('SELECT ip FROM counter WHERE ip=\''.$_SERVER['REMOTE_ADDR'].'\'') OR die(mysql_error()); $zeilen = mysql_num_rows($pruefe_ip); if($zeilen==0) { mysql_query('INSERT INTO counter ( ip , date, time ) VALUES (\''.$_SERVER['REMOTE_ADDR'].'\', \''.$today.'\', \''.time().'\')') OR die(mysql_error()); } $hole_daten_jetzt = mysql_query('SELECT time FROM counter WHERE time>\''.(time()-300).'\''); $zaehle_jetzt = mysql_num_rows($hole_daten_jetzt); $hole_daten_heute_online = mysql_query('SELECT date FROM counter WHERE date = \''.$today.'\''); $zaehle_heute = mysql_num_rows($hole_daten_heute_online); $hole_daten_gestern_online = mysql_query('SELECT date FROM counter WHERE date = \''.$yesterday.'\''); $zaehle_gestern = mysql_num_rows($hole_daten_gestern_online); $hole_daten_diesen_monat_online = mysql_query('SELECT date FROM counter WHERE date LIKE \''.$this_year.'-'.$this_month.'%\''); $zaehle_diesen_monat = mysql_num_rows($hole_daten_diesen_monat_online); $hole_daten_insgesamt_online = mysql_query('SELECT date FROM counter'); $zaehle_insgesamt = mysql_num_rows($hole_daten_insgesamt_online); ?> Jetzt online: <?=$zaehle_jetzt?> Besucher Heute: <?=$zaehle_heute?> Besucher Gestern: <?=$zaehle_gestern?> Besucher in diesem Monat: <?=$zaehle_diesen_monat?> Besucher insgesamt: <?=$zaehle_insgesamt?>
Beitrag geändert: 26.6.2007 22:19:49 von tct
Beitrag geändert: 26.6.2007 22:53:33 von tct -
also jetzt kommt die fehlermeldung http://altialtenweg.lima-city.de/neue_seiten/counter-/counter.php
und den code
<?php $dbhost = 'mysql.lima-city.de'; $dbuser = 'USER82495'; $dbpassword = '*******'; $dbbase = 'db_82495_1'; mysql_connect($dbhost,$dbuser,$dbpassword); mysql_select_db($dbbase); $today = date('Y-m-d'); $yesterday = date('Y-m-d',strtotime('-1 day')); $this_month = date('m'); $this_year = date('Y'); $pruefe_ip = mysql_query('SELECT ip FROM counter WHERE ip='.$_SERVER['REMOTE_ADDR'].'') OR die(mysql_error()); $zeilen = mysql_num_rows($pruefe_ip); if($zeilen==0) { mysql_query('INSERT INTO counter ( ip , date, time ) VALUES (''.$_SERVER['REMOTE_ADDR''].'', ''.$today.'', ''.time().'')') OR die(mysql_error()); } $hole_daten_jetzt = mysql_query('SELECT time FROM counter WHERE time>\''.(time()-300).'\''); $zaehle_jetzt = mysql_num_rows($hole_daten_jetzt); $hole_daten_heute_online = mysql_query('SELECT date FROM counter WHERE date = \''.$today.'\''); $zaehle_heute = mysql_num_rows($hole_daten_heute_online); $hole_daten_gestern_online = mysql_query('SELECT date FROM counter WHERE date = \''.$yesterday.'\''); $zaehle_gestern = mysql_num_rows($hole_daten_gestern_online); $hole_daten_diesen_monat_online = mysql_query('SELECT date FROM counter WHERE date LIKE \''.$this_year.'-'.$this_month.'%\''); $zaehle_diesen_monat = mysql_num_rows($hole_daten_diesen_monat_online); $hole_daten_insgesamt_online = mysql_query('SELECT date FROM counter'); $zaehle_insgesamt = mysql_num_rows($hole_daten_insgesamt_online); ?> Jetzt online: <?=$zaehle_jetzt?> Besucher Heute: <?=$zaehle_heute?> Besucher Gestern: <?=$zaehle_gestern?> Besucher in diesem Monat: <?=$zaehle_diesen_monat?> Besucher insgesamt: <?=$zaehle_insgesamt?>
Beitrag geändert: 26.6.2007 23:18:13 von altialtenweg -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage