Avatar billede stengaard Praktikant
09. november 2005 - 22:11 Der er 7 kommentarer og
1 løsning

memberliste med online og offline funktion

mine to table

først login ::

CREATE TABLE `login` (
  `ID` int(11) NOT NULL auto_increment,
  `user` varchar(50) NOT NULL default '',
  `pass` varchar(16) NOT NULL default '',
  `ip` varchar(15) NOT NULL default '',
  `navn` varchar(51) NOT NULL default 'Ikke oplyst',
  `email` varchar(50) NOT NULL default '',
  `alder` char(2) NOT NULL default '0',
  `profiltekst` longtext NOT NULL,
  `fil` varchar(50) NOT NULL default '',
  `bopael` varchar(50) NOT NULL default '',
  `tlf` varchar(50) NOT NULL default '',
  `tid` varchar(50) NOT NULL default '',
  `hp` varchar(50) NOT NULL default 'Ikke oplyst',
  `status` char(1) NOT NULL default '',
  PRIMARY KEY  (`ID`),
  UNIQUE KEY `idx_brugere` (`user`),
  FULLTEXT KEY `profiltekst` (`profiltekst`)
) TYPE=MyISAM PACK_KEYS=0 AUTO_INCREMENT=1 ;

derefter memberlist  :::

CREATE TABLE memberlist (
  timestamp int(11) NOT NULL default '0',
  ip varchar(40) NOT NULL default '',
  username varchar(30) NOT NULL default '',
  PRIMARY KEY  (timestamp,ip),
  KEY timestamp (timestamp),
  KEY ip (ip)
) TYPE=MyISAM;

mit script der skulle finde udaf hvem der er online eller offline
men der kommer ikke rigtigt noget frem mmmm.

hjælp søges

<?
mysql_connect("localhost", "bruger", "kode");
mysql_select_db("db");

function doUsersOnline() {
    global $REMOTE_ADDR;

    $db = new db;
    $auth = new authenticate;
    $now = time();
    $expire = $now - 600;
    $query = "DELETE FROM memberlist WHERE timestamp < $expire";
    $db->db_query($query);
    if($auth->checkLogin()) {
        $username = $auth->getName();
    } else {
        $username = "-1";
    }

    $query = "SELECT ip,user FROM login WHERE ip='$REMOTE_ADDR'";
    $result = $db->db_query($query);
    if(($db->db_numrows($result)) == 0) {
        $query = "INSERT memberlist (timestamp,ip,user) VALUES ($now,'$REMOTE_ADDR','$username')";
        $db->db_query($query);
    } else {
        $row = $db->db_fetch_array($result);
        if ($row['username'] != $username) {
        $query = "UPDATE memberlist SET username='".$user."' WHERE ip='".$REMOTE_ADDR."'";
        $db->db_query($query);}
    }
    $query = "SELECT timestamp FROM memberlist WHERE username='-1'";
    $result = $db->db_query($query);
    $guests = $db->db_numrows($result);
    $query = "SELECT username FROM memberlist WHERE username <> '-1'";
    $result = $db->db_query($query);
    $members = $db->db_numrows($result);
    for($i=0;$i < $members;$i++) {
        $row = $db->db_fetch_array($result);
        $membernames[$i] = $row['user'];
    }
    $returnarray = array($guests,$members,$membernames);
    return $returnarray;
}
?>
Avatar billede jakobdo Ekspert
09. november 2005 - 22:14 #1
Er du sikker på din sql'er virker?
Hvad indeholder dit $returnarray til sidst?
Avatar billede stengaard Praktikant
09. november 2005 - 22:19 #2
ja min sql virker kan godt logge på

sidste spørgsmål må jeg sige pass ??
Avatar billede stengaard Praktikant
09. november 2005 - 22:23 #3
Avatar billede jakobdo Ekspert
09. november 2005 - 22:26 #4
Den bruger nogle klasse som db har du den klasse?
Avatar billede stengaard Praktikant
09. november 2005 - 22:29 #5
øøø køre b-one webhotel er ikke så meget inde i php/mysql er næsten lige startet med det
Avatar billede jakobdo Ekspert
14. november 2005 - 11:47 #6
Prøv at kig på denne: http://www.udvikleren.dk/article.php?aid=148
Den er rimelig forklaret all the way.
Avatar billede stengaard Praktikant
14. november 2005 - 19:42 #7
kan ikke bruges det er en online tæller ikke et script der fortæller hvem der er pnæine eller offline
Avatar billede stengaard Praktikant
01. december 2005 - 10:45 #8
lukket
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