17. april 2005 - 13:47Der er
8 kommentarer og 1 løsning
Hent hvert eneste 1 minut!
Hej eksperter.
Jeg har et community med onlinetid og mønter. Jeg ville gerne have lavet sådan at man ikke blive smidt ud af community'et hvis man er inaktiv. Det gør session åbenbart helt automatisk.
Jeg ville gerne have at ens onlinetid / mønter bliver opdateret hvert eneste minut. Jeg har prøvet med:
<META HTTP-EQUIV="Refresh" CONTENT="60; URL=opdater.php"> og <iframe id="timerframe" src="" style="height:1px;width:1px;visibility:hidden"></iframe>
<script language="JavaScript"> var timetick = 15000; function countminiute() { var i = document.getElementById('timerframe'); i.src = 'opdater.php'; setTimeout( 'countminiute()', timetick ) }
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
Jamen det er det script til at hente HVERT minut, det virker ik helt :-/... og hvis man trykker på opdaterings knappen øverst over internet adressen så for man ekstra tid :( i kan se community på http://www.dounie.dk/avis
Her er et eks. jeg skrev for langtid siden, som mange har fået hjælp udfra:
$timenow = time(); //Finder tiden nu.
$updatetime = $timenow-(60); //trækker 60 sekunder fra tiden, så vi kan finde ud af hvornår brugeren skal have et minut mere.
$deletetime = $timenow-(1200); //Vi trækker 1200 drkunder (20 minutter) fra tiden, så vi kan finde ud af hvornår brugeren skall smides af.
$res = mysql_query("select sidst_tid from brugere WHERE id=".$_SESSION[userid].""); //Her henter vi den sidste "$updatetime" brugeren har sat, for at finde ud af om han skal have 1 minut mere.
$sidst_tid = mysql_result($res,0,"sidst_tid");
if($sidst_tid < $updatetime) { //Her ser vi om "sidst_tid" (Den sidste tid som bruger satte altså $updatetime) det er tid til at give 1 minut.
//Hvis det er tid til at give et minut:
$res = mysql_query("select minutter from brugere WHERE id=".$_SESSION[userid].""); //Her henter vi "minutter" (det antal minutter brugeren har sat på i).
$minutter = mysql_result($res,0,"minutter");
$minutter++; //Her lægger vi 1 til så hvis brugeren før havde 5 minutter så har den nu 6 minutter :o)
mysql_query("UPDATE brugere SET minutter = '$minutter' WHERE id=".$_SESSION[userid].""); //Her sætter vi så det nye antal minutter tilbage i brugers info.
} //Her slutter vi minut delen.
$query = mysql_query("update brugere set sidst_tid='$timenow' WHERE id=".$_SESSION[userid].""); //Her opdatere vi brugerens sidst_tid til tiden som den er nu. Så der skal gå 1 minut før han får 1 minut. og 20 minutter for han bliver smidt af.
$deletequery = mysql_query("update brugere set online=0 WHERE sidst_tid < '$deletetime'"); //Her tjekker vi så alle oprettede bruger. Alle de brugere hvor det er over 20 min siden de har givet en "sidst_tid" bliver online sat til 0 (0 for offline) og dem hvor der ikke er gået 20 min er stadig sat til 1 (for online).
Har fået det til at virke, men for at lave så det er i timer og minutter så har jeg prøvet sådan:
<? session_start(); if (session_is_registered("brugernavn") AND ("kodeord")) { include("mysql/mysql.php"); $hent = mysql_query("SELECT * FROM community WHERE brugernavn = '$_SESSION[brugernavn]'") or die(mysql_error()); $vis = mysql_fetch_array($hent); ?> <html>
$res = mysql_query("SELECT sidst_tid FROM community WHERE brugernavn = ".$_SESSION[brugernavn].""); $sidst_tid = mysql_result($res,0,"sidst_tid");
if($sidst_tid < $updatetime) { $res = mysql_query("SELECT minutter FROM community WHERE brugernavn = ".$_SESSION[brugernavn]."");
$minutter = mysql_result($res,0,"minutter");
$minutter++;
mysql_query("UPDATE community SET minutter = '$minutter' WHERE brugernavn = ".$_SESSION[brugernavn].""); }
$query = mysql_query("UPDATE community SET sidst_tid='$timenow' WHERE brugernavn = ".$_SESSION[brugernavn].""); $deletequery = mysql_query("UPDATE community SET status2 = 'offline' WHERE sidst_tid < '$deletetime'"); ?> <? $timer2 = $vis[minutter]/3600; $timer = floor($timer2); $min = floor(($timer2-$timer)*60); if($min < 10)$min = "0".$min; ?> <? echo("$timer Timer, og $min Minutter."); ?>
</body>
</html>
<? }else{ print "<link href='style.css' type='text/css' rel='stylesheet'><font color=red>Du er ikke logget ind!</font>"; } ?>
Men det virker ikke helt :S?
Synes godt om
Ny brugerNybegynder
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.