Avatar billede nicocarlos Nybegynder
04. juli 2005 - 23:53 Der er 8 kommentarer og
1 løsning

Problem med online script

Jeg har dette online script som tjekker online brugere og tjekker hvem der er online, men der er noget galt med scriptet, jeg får ingen fejl men brugernavnet bliver ikke indsat af en eller anden grund, jeg har include det her script på alle sider:

<?php 
// database information
include("connect.php");
$player=$user_currently_loged;
// disconnected timeout
$timeout = 1800;  // in seconds.. you can make it higher or lower.. i suggest keeping it at 1 minute
$yourstats="SELECT * from v_users where BINARY username like '$player'";
$yourstats2=mysql_query($yourstats) or die("Could not get your stats");
$yourstats3=mysql_fetch_array($yourstats2);
$test=$yourstats3[username];
// this will tell apart the people on your site
$ip=$_SERVER['REMOTE_ADDR'];
$times=time();
// remove old connections so that the number doesn't continue to rise like a counter
$onlinestats="SELECT * from joined WHERE hl < $times";
$onlinestats2=mysql_query($onlinestats) or die("Could not get your stats");
while ($onlinestats3 = mysql_fetch_array($onlinestats2)) {
$timeon=time();
$timerprot=$timeon-$onlinestats3[timeonline];
$tidminutter = (int) ($timerprot/60);
$updateyourstats="update v_users set minonline=minonline+'$tidminutter' where BINARY username like '$onlinestats3[username]'";
mysql_query($updateyourstats) or die("Could not update your stats");
}

$strq = "DELETE FROM joined WHERE hl < $times";
$qry = mysql_db_query($dbname,$strq);
$strq = "SELECT count(*) FROM joined WHERE IP='$ip'";
$qry = mysql_db_query($$dbname,$strq);

while ( $r = @mysql_fetch_array($qry) ) {
    $ppl = $r["count(*)"];
}

if ($cpt) {
// checks for reloads, etc..
    $strq = "UPDATE joined SET hl=hl + $timeout WHERE ip='$ip'";
} else {
// confirmed user updated into database
$times=time()+1800;
$normaltime=time();
    $strq = "INSERT INTO joined (ip, hl, username, timeonline) VALUES ('$ip','$times','$player','$normaltime')";
}
$qry = mysql_db_query($dbname,$strq);

// display the number of connected people
$strq = "SELECT count(*) FROM joined";
$qry = mysql_db_query($dbname, $strq);

while ( $result = @mysql_fetch_array($qry) ) {
    $ppl = $result["count(*)"];
}
$yourstats="SELECT * from v_users where BINARY username like '$player'";
$yourstats2=mysql_query($yourstats) or die("Could not get your stats");
$yourstats3=mysql_fetch_array($yourstats2);
$tidloggetind = time() - $yourstats3[lastlogin];
$tidtimer = (int) ($tidloggetind/3600);
if ($tidtimer < 3){
}else{
echo('<script type=\'text/javascript\'>parent.location.href=\'login.php\';</script>');
}
?>
Avatar billede nicocarlos Nybegynder
04. juli 2005 - 23:59 #1
Det skal siges at hvis man går ind på scriptet når man er logget ind altså direkte så bliver man logget ud:
"echo('<script type=\'text/javascript\'>parent.location.href=\'login.php\';</script>');"

Hvilket er dybt underligt synes jeg :D
Avatar billede nicocarlos Nybegynder
05. juli 2005 - 00:02 #2
Og desuden virker denne insert ikke:
$strq = "INSERT INTO joined (ip, hl, username, timeonline) VALUES ('$ip','$times','$player','$normaltime')";

Den finder ikke $player selvom jeg henter den sådan her fra en session som på alle mine andre sider (som virker):
$player=$user_currently_loged;
Avatar billede Slettet bruger
05. juli 2005 - 04:52 #3
Har du husket session-start(); ?
Avatar billede Slettet bruger
05. juli 2005 - 04:53 #4
Sludder.

Siden virker ikke for sig selv, fordi den ikke starter session.
Avatar billede nicocarlos Nybegynder
05. juli 2005 - 19:39 #5
men den virker åbenbart heller ikke selvom den er includet på en der gør. Fordi username bliver ikke indsat
Avatar billede Slettet bruger
05. juli 2005 - 19:51 #6
Prøv engang at udskrive $user_currently_loged

Er du sikker på, at du ikke har stavet rigtigt de andre steder, så variablen skal hedde $user_currently_logged ?
Avatar billede nicocarlos Nybegynder
05. juli 2005 - 23:44 #7
det er bare forkert stavet alle steder :D.

Hvis jeg udskriver den på siden for sig selv kommer den ikke (pga af sessions som du siger), men når jeg includer den udskriver den rigtigt.
Avatar billede Slettet bruger
06. juli 2005 - 15:50 #8
Prøv at rette queryen til SELECT * from v_users where BINARY username='$player' LIMIT 1"

For det er vel meningen at brugernavne er unikke?
Avatar billede nicocarlos Nybegynder
12. september 2005 - 00:29 #9
det virkede ikke, jeg har lavet et helt nyt script som virker tak for hjælpen ellers
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester