Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Ketä online?

Sivun loppuun

Nomadic [29.01.2004 16:50:43]

#

Joo, olis semmonen probleema, että mulla on erään sivuston henkilökunnan (noin 50 hlöä), käytössä squirrelMail -niminen sähköpostiohjelma.

Tarvisin nyt skriptiä, joka kertoo ketkä käyttäjistä ovat online. Se varmaan hoituu aika helposti, koska ohjelma antaa valikkoframen php-tiedostoon muuttujaan $username aina käyttäjän usernamen, eli sen kun kirjoittaisi tiedostoon, ja tietyn ajan päästä poistaisi, niin varmaan se toimisi niin, mutta en tuota itse osaa toteuttaa:/

Eli jos joku ystävällisesti kertoisi miten tuollainen toimisi:)

folio [29.01.2004 17:58:43]

#

Squirrelmailiin lyötyy pluginejä mielin määrin, mm. sen omilta sivuilta.

http://www.squirrelmail.org/plugin_view.php?id­=128

Nomadic [29.01.2004 21:41:52]

#

lainaus:

Squirrelmailiin lyötyy pluginejä mielin määrin, mm. sen omilta sivuilta.

http://www.squirrelmail.org/plugin_view.php?id­=128

Paitsi että mySQL:ää ei ole käytössä, tottakai tarkistin ensin tuon vaihtoehdon.

folio [30.01.2004 12:21:28]

#

Löysin jonkun vanhan onlineusers-laskurin koodin, jolla tuo mielestäni onnistuisi: http://htklx2.htk.fi/~ederth/dev/online/online.phps

Kopioi tuo edellinen ja sitten lisäilet siihen valikkoframen php-tiedostoon sopivaan kohtaan:

require_once('./online.php');

// username, datafile, timeout(sekunteina)
$onlineusers = new onlineusers($username, 'online.dat', 900);

$onlineusers->showusers();

Ja kerro ihmeessä jos sait toimimaan, itse kun ei oikein muista toimiko tuo koodi ylipäätään ollenkaan.

Nomadic [30.01.2004 16:05:52]

#

Kyllä sain toimimaan, vähän piti fixata, mutta kyllä toimii. Kiitoksia ERITTÄIN paljon.

folio [30.01.2004 16:26:39]

#

Eipä mitään, hyvä vaan että tuollekin nyt löytyi sitten jotain käyttöä.

Nomadic [03.02.2004 19:48:22]

#

Eipä muuten toimi sittenkään:S

Tässä aloin kattoon, että on epätavallisen paljon porukkaa online. Toi ei poista ollenkaan tosta noita käyttäjiä.

Nyt siitä kyllä näkee hyvin ketkä on käyny tuolla sivulla helmikuun alun jälkeen:D

folio [04.02.2004 13:47:02]

#

Niin no, huomasin kanssa että tuossa antamassani koodissa olikin sitten virhe, mutta luulin että sait sen korjattua.

Mutta, vaihdappa rivit

$this->data = @array_filter($this->data, array($this, '__clean'));
$this->data[$user] = $this->time = time();

toisinpäin, eli

$this->data[$user] = $this->time = time();
$this->data = @array_filter($this->data, array($this, '__clean'));

niin toimii paremmin - toivottavasti ;)

edit: ja lyösin tällaisenkin, joka näyttää myös idlausajan (käy siis tuon aiemman showusers funktion päälle)

function showusers() {

  echo count($this->data),' user(s) online:<br />';

  foreach( $this->data as $user => $time ) {

    if( ( $idle = $this->time - $time ) > 60 )
      $idle = @floor( $idle / 60 ) . ' min ' . ( $idle % 60 ) . 's';
    else
      $idle .= ' s';

    echo "$user (idle: $idle)<br />";

  }

}

Nomadic [04.02.2004 17:17:28]

#

Joo, nyt pelittää. Kiitoksia taas kerran:D


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta