Avatar billede specks Nybegynder
09. marts 2005 - 15:27 Der er 1 kommentar

Opdatering af onlinetid!!

Hej.

Jeg har lavet et community med onlinetid! Men man bliver smidt ud efter 40 min eller sådan noget hvis man ikke er aktiv på siden. Det synes jeg er træls og ville meget gerne have lavet det sådan at den opdatere hvert min.

Man kunne lave et iframe som er hidden (usynligt) hvor den henter en fil f.eks minutter.php hvor den opdatere hvert min således man ikke bliver smidt ud! Jeg har prøvet men kan ikke finde ud af det :/.

Min community_avis sql fil ser således ud:

CREATE TABLE `community_avis` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `brugernavn` varchar(255) NOT NULL default '',
  `kodeord` varchar(255) NOT NULL default '',
  `status` varchar(255) NOT NULL default 'normal',
  `status2` varchar(100) NOT NULL default '',
  `online` varchar(255) NOT NULL default 'nej',
  `logintid` varchar(255) NOT NULL default '0',
  `email` varchar(255) NOT NULL default '',
  `kon` varchar(255) NOT NULL default '',
  `navn` varchar(255) NOT NULL default '',
  `alder` char(2) NOT NULL default '',
  `msn` varchar(255) NOT NULL default '',
  `icq` varchar(255) NOT NULL default '',
  `hp` varchar(255) NOT NULL default '',
  `yting` varchar(255) NOT NULL default '',
  `yrum` varchar(200) NOT NULL default '',
  `fritekst` text NOT NULL,
  `onlinetid` int(10) NOT NULL default '0',
  `mønter` int(10) NOT NULL default '0',
  `toj` varchar(255) NOT NULL default '',
  `hits` varchar(100) NOT NULL default '0',
  `ip` varchar(20) NOT NULL default '',
  `dato` varchar(20) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=232 ;

Den skulle osse gøre det samme med mønterne self. For at opdatere sin onlinetid og mønter skal man nemlig logge ud hvilket jeg osse synes er træls! Min logud.php fil ser således ud:

<?
session_start();
if (session_is_registered("brugernavn") AND ("kodeord")) {
include("mysql/mysql.php");
$query = mysql_query("SELECT * FROM community_avis WHERE brugernavn = '$_SESSION[brugernavn]'") or die(mysql_error());
$vis = mysql_fetch_array($query);
?>
<html>

<head>

<link rel="stylesheet" HREF="style.css" type="text/css">

</head>

</body>
</html>
<?
$gltid = $vis[logintid];
$tidnu = time();
$plusminus = $tidnu-$gltid;
$nytid = $plusminus;
$glmønter = $vis[logintid];
$mønternu = time();
$plusminus = $mønternu-$glmønter;
$mønternu = $plusminus;
$query = mysql_query("UPDATE community_avis SET status2 = 'Offline', onlinetid = onlinetid+$nytid, mønter = mønter+$mønternu WHERE brugernavn = '$_SESSION[brugernavn]'")
?>
<?
    session_destroy();
    echo("<font color=green>Du er nu logget ud, og har fået dine mønter og onlinetid opdateret!</font>");
?>

<?
}else{
echo("<font color=red>Du er ikke logget ind!</font>");
}
?>

Og til sidst den fil man kommer til når man er logget ind!:

<?
session_start();
if (session_is_registered("brugernavn") AND ("kodeord")) {
include("mysql/mysql.php");
$hent = mysql_query("SELECT * FROM community_avis WHERE brugernavn = '$_SESSION[brugernavn]'") or die(mysql_error());
$vis = mysql_fetch_array($hent);
?>
<hr style="BORDER-RIGHT: #F6C73C 3px dotted; BORDER-TOP: #F6C73C 3px dotted; BORDER-LEFT: #F6C73C 3px dotted; BORDER-BOTTOM: #F6C73C 3px dotted" color="#F6C73C">
<?
//tjekker brugerens onlinetid
$timer2 = $vis[onlinetid]/3600;
$timer = floor($timer2);
$min = floor(($timer2-$timer)*60);
if($min < 10)$min = "0".$min;
$mønter2 = $vis[mønter]/60;
$mønter = floor($mønter2);
$min1 = floor(($mønter2-$mønter)*60);
if($min1 < 10)$min1 = "0".$min1;
?>Hey <b><? echo $_SESSION[brugernavn]; ?></b><br>
<b>Din onlinetid er:</b> <? echo $timer; ?> Timer, og <? echo $min; ?> Minutter (log af for at få opdateret din onlinetid
og mønter)<br>
<b>Mønter:</b> <? echo $mønter; ?> Mønter.<br><br>
<?
if($vis[status] == "normal")
{
echo("
<a href=http://www.specks.dk/avis/community/logaf.php><b>Log af - Log altid af!</b></a>
<br>
");
}

if($vis[status] == "vip")
{
echo("
<a href=http://www.specks.dk/avis/community/logaf.php><b>Log af - Log altid af!</b></a>
<br>
");
}

if($vis[status] == "ejer")
{
echo("
<a href='http://www.specks.dk/avis/nyheder/tilfoej.php'>Tilføj Nyhed</a><br>
<a href='http://www.specks.dk/avis/nyheder/alle_nyheder.php'>Ret Nyhed</a><br>
<a href='http://www.specks.dk/avis/artikler/tilfoej.php'>Tilføj Artikel</a><br>
<a href='http://www.specks.dk/avis/artikler/alle_artikler.php'>Ret Artikel</a><br>
<a href='http://www.specks.dk/avis/baggrunde/tilfoej.php'>Tilføj Baggrund</a><br>
<a href='http://www.specks.dk/avis/ting/tilfoej.php'>Tilføj Ting</a><br>
<a href='http://www.specks.dk/avis/figurer/tilfoej.php'>Tilføj Figur</a><br>
<a href='http://www.specks.dk/avis/galleri/tilfoej.php'>Tilføj galleri billede</a><br>
<a href='http://www.specks.dk/avis/diverse/downloads/tilfoej.php'>Tilføj downloads</a>
<br><br>
<a href=http://www.specks.dk/avis/community/logaf.php><b>Log af - Log altid af!</b></a>
");
}

if($vis[status] == "redaktør")
{
echo("
<a href='http://www.specks.dk/avis/nyheder/tilfoej.php'>Tilføj Nyhed</a><br>
<a href='http://www.specks.dk/avis/nyheder/alle_nyheder.php'>Ret Nyhed</a><br>
<a href='http://www.specks.dk/avis/artikler/tilfoej.php'>Tilføj Artikel</a><br>
<a href='http://www.specks.dk/avis/artikler/alle_artikler.php'>Ret Artikel</a><br>
<a href='http://www.specks.dk/avis/baggrunde/tilfoej.php'>Tilføj Baggrund</a><br>
<a href='http://www.specks.dk/avis/ting/tilfoej.php'>Tilføj Ting</a><br>
<a href='http://www.specks.dk/avis/figurer/tilfoej.php'>Tilføj Figur</a><br>
<a href='http://www.specks.dk/avis/galleri/tilfoej.php'>Tilføj galleri billede</a><br>
<br><br>
<a href=http://www.specks.dk/avis/community/logaf.php><b>Log af - Log altid af!</b></a>
");
}

if($vis[status] == "chef reporter")
{
echo("
<a href='http://www.specks.dk/avis/artikler/tilfoej.php'>Tilføj Artikel</a><br>
<a href='http://www.specks.dk/avis/baggrunde/tilfoej.php'>Tilføj Baggrund</a><br>
<a href='http://www.specks.dk/avis/ting/tilfoej.php'>Tilføj Ting</a><br>
<a href='http://www.specks.dk/avis/figurer/tilfoej.php'>Tilføj Figur</a><br>
<a href='http://www.specks.dk/avis/galleri/tilfoej.php'>Tilføj galleri billede</a><br>
<br><br>
<a href=http://www.specks.dk/avis/community/logaf.php><b>Log af - Log altid af!</b></a>
");
}

if($vis[status] == "reporter")
{
echo("
<a href='http://www.specks.dk/avis/artikler/tilfoej.php'>Tilføj Artikel</a><br>
<a href='http://www.specks.dk/avis/figurer/tilfoej.php'>Tilføj Figur</a><br>
<a href='http://www.specks.dk/avis/galleri/tilfoej.php'>Tilføj galleri billede</a><br>
<br><br>
<a href=http://www.specks.dk/avis/community/logaf.php><b>Log af - Log altid af!</b></a>
");

}
if($vis[status] == "prøve reporter")
{
echo("
<a href='http://www.specks.dk/avis/artikler/tilfoej.php'>Tilføj Artikel</a><br>
<br><br>
<a href=http://www.specks.dk/avis/community/logaf.php><b>Log af - Log altid af!</b></a>");
}
?></body></html><?
}else{
print "<link href='style.css' type='text/css' rel='stylesheet'><font color=red>Du er ikke logget ind!</font>";
}
?>

Håber virkelig nogen kan hjælpe! I må meget gerne skrive koderne og ikke bare skrive hvordan! Jeg har en ide om hvordan det skal være men kunne overhovedet ikke få det til at virke så skrive det som det skal være så jeg kan kopiere det over :)

Tak på forhånd :).
Avatar billede cronaldo Nybegynder
04. juli 2005 - 23:52 #1
Du laver en der lægger en dato ind i databasen, så i en fil du includerer I TOPPEN AF ALLE SIDER (VIGTIGT!!!!) der henter du den dato ud og tæller hvor lang tid der er gået siden sidste aktivitet, hvis der er gået fx over 5 min, så er personen ikke logget ind mere, og dermed skal der ikke lægges mønter til.. hvis der derimod er gået <5 mins, så skal der lægges mønter til, og du tæller op hvor mange mønter, når du har gjort dette og lukket alle {}, så HUSKER DU at sætte et nyt aktivitetstidspunkt hvis det er <5 mins siden sidste aktivitet, ellers ikke .. Er det forståeligt ? :)
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