Avatar billede BTEngineer Novice
12. april 2005 - 20:08 Der er 1 kommentar og
1 løsning

Opdater / Refresh

Hej.

Jeg har lavet et community, som i kan se på www.Dounie.dk/avis.
Der er der lavet onlinetid og mønter! Men man skal logge af for at opdatere sin tid / mønter, og hvis man ikke logger af så for man ikke sin tid / mønter (hvis man f.eks lukker vinduet). Altså man skal kunne være i community'et hele tiden uden at blive smidt ud efter omkring de 30 - 40 min, og så har jeg så fundet den løsning at man kan gøre sådan ens tid / mønter bliver opdateret hvert minut. I skal sikkert bruge min mysql database og så logaf filen:

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',
  `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 '',
  `ip` varchar(20) NOT NULL default '',
  `dato` varchar(20) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM;

Logaf filen:

<?
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 oncontextmenu="return false"ondragstart="return false"onselectstart="return false">

</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!</font>");
?>

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

Jeg håber i kan hjælpe, det er et problem jeg har arbejdet rigtig meget på! Jeg ville gerne have i skriver koderne, for jeg tror jeg har fundet den rigtige løsning, kan bare ikke se hvordan jeg skal lave det. Måske
<META HTTP-EQUIV="Refresh" CONTENT="5;URL=minut.php">

Ved ikke om det kunne virke, men i hvert fald ved jeg ikke hvordan man skal lave minut.php, den skal jo nulstille logintid feltet til 0 ellers for man alt for meget onlinetid og alt for mange mønter efter f.eks. 2 min.

Håber i kan hjælpe =).
Avatar billede Daniel.E Praktikant
14. april 2005 - 08:47 #1
Måske skulle du overveje at ændre dine størelser...

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',
  `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 '',
  `ip` varchar(20) NOT NULL default '',
  `dato` varchar(20) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM;


F.eks....

et navn er meget sjældent på mere end 20 bogstaver.  Prøv du f.eks at skrive et navn som fylder bare 50 bogstaver... så skal du se hvor meget plads at du spilder ved at sætte varchar til 255 chars.
Avatar billede BTEngineer Novice
15. april 2005 - 10:04 #2
Hvad skulle det hjælpe :S?
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