wieviel user/members sind online?

eyz

eyz

Aktives Mitglied
Thread Starter
Dabei seit
29.12.2003
Beiträge
180
Reaktionspunkte
0
hih0!

ich will die besucher auf meiner seite zählen (die praktisch gerade jetzt auf meiner seite sind)

ich hab mir da was zusammengebastelt... ich habs jetzt zusammengebracht die gäste auf meiner site zu zählen (mehr dazu unten).. jedoch bekomm ich beim query, wo ich die namen der registrierten user auswählen will eine fehlermeldung:

Access denied for user: '@localhost' to database 'db145234'

ich komm nicht drauf was da falsch sein könnte.. :(

hier der code:

ich erstell eine tabelle "useronline" in der ich die zeit, die seite, die ip und die userID (falls registriert) vermerke:
PHP:
CREATE TABLE useronline (
  timestamp INT(15) NOT NULL,
  ip VARCHAR(40) NOT NULL,
  file VARCHAR(100) NOT NULL,
  userID VARCHAR(40)
);

das script:
PHP:
<?php 
	$timeoutseconds = 300; 

	//get the time
	$timestamp = time(); 
	$timeout = $timestamp-$timeoutseconds; 

	//einfügen der werte
//wenn registrierter user online..
	if(isset($userID)){
		$insert = mysql_db_query($db_bp, "INSERT INTO useronline VALUES
										('$timestamp','$REMOTE_ADDR','$PHP_SELF','$userID')");
	}else{ 
		$insert = mysql_db_query($db_bp, "INSERT INTO useronline VALUES
										('$timestamp','$REMOTE_ADDR','$PHP_SELF')"); 
	}
	if(!($insert)) { 
		print "Useronline Insert Failed > "; 
	} 

	//löschen der werte wenn user die seite verlassen
	$delete = mysql_db_query($db_bp, "DELETE FROM useronline WHERE timestamp<$timeout"); 
	if(!($delete)) { 
		print "Useronline Delete Failed > "; 
	}	 

	//grab the results
	$result = mysql_db_query($db_bp, "SELECT DISTINCT ip FROM useronline WHERE file='$PHP_SELF'"); 
	if(!($result)) { 
		print "Useronline Select Error > "; 
	} 

	//number of rows = Zahl der user online
	$user = mysql_num_rows($result); 

	//g0g0g0... spit out the results
	mysql_close(); 
	if($user == 1) { 
		print("$user user online\n"); 
	} else { 
		print("$user users online\n"); 
	}
//wenn registrierter User online..
	if(isset($userID)){
		echo("<br>userID: ".$userID."<br>");
		$fut1 = mysql_db_query($db_bp, "SELECT name FROM
								users, useronline
								WHERE users.ID=useronline.userID");
		if(!$fut1) echo("..wormes auswähln vom user funzt net:<br>".mysql_error()."<br>");
		while($row = mysql_fetch_array($fut1)){
			$username = $row["name"];
			echo(" name: ".$username);
		}
	} 
?>

[edit] die fehlermeldung gilt für den query $fut1.. alle anderen querys funktionieren (pwd, username etc sind in der config dekleriert, die ich weiter oben includet habe) [/edit]

keine ahnung wo jetzt der fehler ist..

ich muss jetzt noch was für schule lernen. werde morgen nochmal reinschaun und wehe ich finde hier nicht die lösung :D :)
 
Zuletzt bearbeitet:
hi

an dem skript ($fut1) sehe ich nichts falsches...
und "access denied" deutet eher auf ein zugriffsproblem (rechtevergabe, user, passwd) mit der datenbank.

...aber erstaunlich finde ich dass du erst die verbindung mit der datenbank schliesst:

PHP:
 //g0g0g0... spit out the results 
    mysql_close();

und anschliessend wieder ein query losschickst...


lg
bb

ps: vorschlag: erst nach dem letzten query datenbakverbindung schliessen oder eine neue wieder öffnen und anschliessend wieder schliessen
 
:eek:

danke!! vielmals.. es funktioniert :rolleyes:

vielleicht sollte ich mir den pfusch genauer durchsehen, bevor ich hier ins forum gehe :D

nochmals danke für den ratschlag ..jetzt kanns ja munter weitergehn :)
 
hallo

gerngeschehen :)

viel spass noch :) :) :)

liebe grüsse
bb
 
Zurück
Oben Unten