Avatar billede stengaard Praktikant
11. november 2005 - 21:40 Der er 1 løsning

memberliste med online og offline funktion

hej kunne godt tænke mig at udvide dette script så man havde en mulighed for at lave en memberliste med online/offline funktion er der nogle der kan hjælpe med det !!

1) table

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 ;

2) login.php

<?
ob_start();
?>
<form action="loggerin.php" method="post" name="login">
<br><br><br><br><br>
<table align="center" border="0" cellpadding="1" cellspacing="0" width="400">
<tbody><tr><td><table border="0" cellpadding="2" cellspacing="0" width="100%">
<tbody><tr>
<td class="box_headline" width="30%">Log på</td></tr><tr><td class="box_content"><table cellpadding="2" cellspacing="2" width="100%"><tbody><tr>                        <td>Brugernavn:</td>
<td><input name="bruger" id="brugernavn" size="40" type="text"></td></tr><tr>                        <td>Adgangskode:</td>
<td><input name="pass" id="adgangskode" size="40" type="password"></td></tr><tr>                        <td>&nbsp;</td>                            <td><input name="Submit" value="Log på" type="submit"></td></tr>    </tbody></table></form>

3) loggerin.php

<?php

session_start();

if ($_POST['bruger'] == "" AND $_POST['pass'] == "") {

        $_SESSION['status'] = "nobrugerpass";

    print("    <script language='javascript'>

        location.href='login.php';

        </script>");

}



elseif ($_POST['bruger'] == "") {

       

        $_SESSION['status'] = "nobruger";

    print("    <script language='javascript'>

        location.href='login.php';

        </script>");

}



elseif ($_POST['pass'] == "") {

       

        $_SESSION['status'] = "nopass";

    print("    <script language='javascript'>

        location.href='login.php';

        </script>");

}



else



{

include("access.php");

$query = "SELECT user, pass FROM login  WHERE user = '".$_POST['bruger']."' AND pass= '".$_POST['pass']."'";

$result = mysql_query($query)or die("MySQL fejl: " . mysql_error());

$log = mysql_fetch_array($result);



if ($_POST['bruger'] == $log['user'] && $_POST['pass'] == $log['pass']) {

   

        $_SESSION['status'] = "login";

        $_SESSION['navn'] = $_POST['bruger'];

    print("    <script language='javascript'>

        location.href='index.php';

        </script>");

       

}



else

{

        $_SESSION['status'] = "fejl";

    print("    <script language='javascript'>

        location.href='login.php';

        </script>");

       

}

}

?>

4) access.php

<?PHP

mysql_connect("localhost", "bruger", "kode");

mysql_select_db("db");

?>

5) index.php

<?php
session_start();
include("sider.php");
if ($_SESSION['status'] == "login")
{

}
else
{
print("    <script language='javascript'>
        location.href='login.php';
        </script>");
}


?>

6) memberlist.php

ville jeg meget gerne have her så den skal kunne lave en session med mulighed for at se hvem der er online el. offline med oplysning af navn på den person der er online eller offline en udbygning af dette script måske.

6a)

<?php

include("access.php");
$ip = $_SERVER['REMOTE_ADDR'];
$tjek_ip = mysql_query("SELECT COUNT(*) AS antal FROM online WHERE ip='$ip'") or die(mysql_error());
if(!mysql_result($tjek_ip,0)) {
mysql_query("INSERT INTO online (time, ip) VALUES (NOW(),'$ip')") or die(mysql_error());
} else {
mysql_query("UPDATE online SET time=NOW() WHERE ip='$ip'") or die(mysql_error());
}

mysql_query("DELETE FROM online WHERE date_add(time,interval 5 MINUTE) < NOW()") or die(mysql_error());
$antal_online = mysql_query("SELECT COUNT(*) AS antal FROM online") or die(mysql_error());
echo "og der er lige nu ".mysql_result($antal_online,0)." online";
mysql_close($connection);
?>

6b) tablen til ovennævnte

CREATE TABLE `online` (
  `id` int(11) NOT NULL auto_increment,
  `ip` varchar(255) NOT NULL default '',
  `host` varchar(255) NOT NULL default '',
  `date` int(11) NOT NULL default '0',
  `browser` varchar(255) NOT NULL default '',
  `time` datetime NOT NULL default '0000-00-00 00:00:00',
  `page` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=80 ;

7) tæller antal medlemmer i databasen

Der er ialt
<?php
include("access.php");
$query = mysql_query("SELECT COUNT(*) as antal FROM login");
echo mysql_result($query, 0); ?>
Avatar billede stengaard Praktikant
01. december 2005 - 10:45 #1
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