Avatar billede sommerjensen Nybegynder
31. august 2003 - 15:18 Der er 7 kommentarer

online tid system

Hej.. jeg sidder med et community og jeg mangler et tis system, altså sådan man kan se brugerens online tid!!!

min tabel med brugere hedder 'brugere' og den side som tiden skal opdatere på hedder index.php jeg har db connect og det hele! hvad kan jeg gøre?
Avatar billede sommerjensen Nybegynder
31. august 2003 - 15:20 #1
tis = tid :)
Avatar billede snowball Novice
31. august 2003 - 15:21 #2
Måske du kan bruge det eksempel ztyxx har skrevet i http://www.eksperten.dk/spm/394785 !?

Snowball
Avatar billede sommerjensen Nybegynder
31. august 2003 - 15:21 #3
jeg skal bare have koden til at opdatere
Avatar billede snowball Novice
31. august 2003 - 15:25 #4
Det er der jo også i eksemplet.

Snowball
Avatar billede smooth Nybegynder
01. september 2003 - 13:08 #5
Her er en kode som jeg en gang fik lavet :

Gem denne kode i en fil og include filen på alle dise sider.

<?
$online_time = mktime();
$timenow = mktime();
$timedel = mktime()-160;
$side  = "$_SERVER[REQUEST_URI]";
con_db();
mysql_query("DELETE FROM online WHERE tid<'$timedel'");
$query = mysql_query("SELECT user FROM online WHERE ip='$REMOTE_ADDR'");
@$user = mysql_result($query, 0, "user");
$antal = mysql_num_rows($query);

if ($antal > 0) {
    if ($_SESSION[brugernavn]) {
        if ($user == "Gæst") mysql_query("UPDATE online SET side ='$side', tid='$timenow', user='$_SESSION[brugernavn]' WHERE ip='$REMOTE_ADDR'");
        else if ($user == $_SESSION[brugernavn]) mysql_query("UPDATE online SET side ='$side', tid='$timenow' WHERE ip='$REMOTE_ADDR'");
        else mysql_query("INSERT INTO online (user, tid, ip, side, online_time) VALUES ('$_SESSION[brugernavn]', '$timenow', '$REMOTE_ADDR','$side','$online_time')");
    }
    else {
        mysql_query("UPDATE online SET tid='$timenow', user='Gæst' side ='$side',online_time ='$online_time' WHERE ip='$REMOTE_ADDR'");
    }
}
else {
    if ($_SESSION[brugernavn]) mysql_query("INSERT INTO online (user, tid, ip, side, online_time) VALUES ('$_SESSION[brugernavn]', '$timenow', '$REMOTE_ADDR','$side','$online_time')");
    else mysql_query("INSERT INTO online (user, tid, ip, side, online_time) VALUES ('Gæst', '$timenow', '$REMOTE_ADDR','$side','$online_time')");
}
?>

Der efter kan du bare hive data ud af MySQL.

Og her er selve koden til at lave en online side :)

    <br>
    <table border="0" width="100%" cellspacing="0" cellpadding="0" class="ramme_bund">
      <tr>
          <td width="100%"><span class='header'>Brugere online</span></td>
      </tr>
    </table>
    <br style='font-size: 10px;'>
    <table border="0" width="100%" cellpadding="4" cellspacing="0" class='tabel'>
        <tr>
          <td width="33%"><span class='m'><b>Brugernavn</b></span></td>
          <td width="16%">
            <p align="center"><span class='m'><b>Status</b></span></td>
          <td width="25%">
            <p align="center"><span class='m'><b>Befinder sig på</b></span></td>
          <td width="25%">
            <p align="center"><span class='m'><b>Online tid</b></span></td>
        </tr>
      </table>
    <br style='font-size: 3px;'>
    <?
    echo"
    <table border='0' width='100%' cellpadding='4' cellspacing='0' class='tabel'>
        <tr>
          <td width='100%'>";
   
    con_db();
    $result = mysql_query("SELECT * FROM online ORDER BY tid DESC") or die(mysql_error());
    while ($row = mysql_fetch_array($result)) {
    $user = ucfirst($row[user]);
    $online_time = $row[online_time];
    if ($user == "Gæst") {
    $visside2 = preg_replace("/^\//i", "", $row[side]) ;
    echo"
    <table border='0' width='100%' cellpadding='4' cellspacing='0' lass='tabel_bund_stip'>
        <tr>
          <td width='34%'><span class='m'>$row[user]</span>
          </td>
          <td width='16%'>
            <p align='center'><span class='m'>Besøgende</span></td>
          <td width='25%'>
            <p align='center'><span class='m'><a href='$row[side]' target='_blanc'>$visside2</a></span></td>
          <td width='25%'>
            <p align='center'><span class='m'>";
          $mkt = mktime();
          $since_t = $online_time - $mkt;
          $s_min = str_replace("-", "", $since_t / 60);
          $s_tim = round(str_replace("-", "", $since_t / 3600));
          $s_dag = round(str_replace("-", "", $since_t / 84600));

          if((substr($s_tim, 0, 1) == 0) && (substr($s_dag, 0, 1) == 0)) {
          echo "".number_format($s_min, 0, '', '')." min.";
          }
          if((substr($s_tim, 0, 1) > 0) && (substr($s_dag, 0, 1) == 0)) {
          echo "".round($s_tim)." time(r)";
          }
          if(round($s_dag) > 0) {
          echo "".round($s_dag)." dag(e)";
          }echo"</span></td>
        </tr>
      </table>";
    }
    else{
    $query = mysql_query("SELECT * FROM brugere WHERE brugernavn='$row[user]'");
    $row1 = mysql_fetch_array($query);
    $user = ucfirst($row[user]);
    $online_time = $row[online_time];
    echo "
      <table border='0' width='100%' cellpadding='4' cellspacing='0' class='tabel_bund_stip'>
        <tr>
      <td width='34%'><span class='m'><a href='profil.php?bruger=$row1[brugernavn]'>$row1[brugernavn]</a></span>";
      if($row1[foto]=="kommersnart.gif"){
              echo "<span class='s'><font color='#DDDDDD'><i>    [foto]</i></font></span>";
          }
          else
          { echo "&nbsp;&nbsp;&nbsp;<span class='s'><a href='vis_profil_foto.php?foto=$row1[foto]' target='_blanc' t>[foto]</a></span>";
          }
          echo"
          </td>
          <td width='16%'>
            <p align='center'><span class='m'>$row1[status]</span></td>
          <td width='25%'>
            <p align='center'><span class='m'>";
          $visside = preg_replace("/^\//i", "", $row[side]) ;
          echo"
          <a href='$row[side]' target='_blanc'>$visside</a></span></td>
          <td width='25%'>
            <p align='center'><span class='m'>";
          $mkt = mktime();
          $since_t = $online_time - $mkt;
          $s_min = str_replace("-", "", $since_t / 60);
          $s_tim = round(str_replace("-", "", $since_t / 3600));
          $s_dag = round(str_replace("-", "", $since_t / 84600));

          if((substr($s_tim, 0, 1) == 0) && (substr($s_dag, 0, 1) == 0)) {
          echo "".number_format($s_min, 0, '', '')." min.";
          }
          if((substr($s_tim, 0, 1) > 0) && (substr($s_dag, 0, 1) == 0)) {
          echo "".round($s_tim)." time(r)";
          }
          if(round($s_dag) > 0) {
          echo "".round($s_dag)." dag(e)";
          }echo"</span></td>
        </tr>
      </table>";
    }
}
?>
      </td>
      </tr>
    </table>


Alle det steder hvor der står con_db();  skal du lave en MySQL connection

Her er så MySQL dump :


#
# Struktur dump for tabellen `online`
#

CREATE TABLE online (
  id int(32) NOT NULL auto_increment,
  tid varchar(15) NOT NULL default '',
  user varchar(15) NOT NULL default '',
  side varchar(255) NOT NULL default '/index.php',
  ip varchar(20) NOT NULL default '',
  online_time varchar(15) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;
Avatar billede smooth Nybegynder
20. september 2003 - 23:26 #6
ØØØØøø Sker der ikke snart noget her ?
Avatar billede seb-boy Nybegynder
01. august 2005 - 23:19 #7
Hmm,
Nu er det her nok et ret dumt spørgsmål,
Men hvordan gemmer man MySQL ? (:
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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