Yksinkertaisesti toteutettu tietokantaa käyttävä online laskuri.
Luo skriptille seuraavanlainen taulu:
CREATE TABLE online(ip TEXT, time INT);
<?php //tiedot joilla yhdistetään tietokantaan $serveri = "localhost"; $tunnus = ""; $salasana = ""; $tietokanta = ""; //yhteys tietokantaan $yhteys = mysql_connect($serveri, $tunnus, $salasana) or die("Yhdistäminen ei onnistunut"); mysql_select_db($tietokanta, $yhteys) or die("Tietokantaa ei löytynyt"); //käyttäjän ip-osoite ja minuutin edessäpäin oleva aikaleima muuttujiin $ip = $_SERVER['REMOTE_ADDR']; $time = time() + 60; //tarkistetaan löytyykö käyttäjästä merkintää $online_or_not = mysql_query("SELECT * FROM online WHERE ip = '" . $ip . "'"); if(mysql_num_rows($online_or_not) == 1) { //jos merkintää ei ole, luodaan merkintä minuutin edessäpäin olevalla aikaleimalla mysql_query("INSERT INTO online (ip, time) VALUES ('" . $ip . "', '" . $time . "')"); } else { //jos käyttäjästä on merkintä, päivitetään merkinnän aikaleimaa minuutin eteenpäin mysql_query("UPDATE online SET time = '" . $time . "' WHERE ip = '" . $ip . "'"); } //poistetaan lopuksi kaikki merkinnät joiden aikaleima on vanhentunut mysql_query("DELETE FROM online WHERE time < '" . time() . "'"); //tarkistetaan paikalla olevien käyttäjien määrä $online = mysql_query("SELECT COUNT(*) FROM online"); $online_count = mysql_num_rows($online); //tulostetaan paikalla olevien käyttäjien määrä if(mysql_num_rows($online_count) == 1) { echo $online_count . "käyttäjä online."; } else { echo $online_count . "käyttäjää online."; } ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.