Avatar billede fragze Juniormester
15. januar 2004 - 09:16 Der er 12 kommentarer og
1 løsning

Problem med online script.

Hello expertZ

Jeg har et script, som viser hvem der er onliine og hvilken side de er på... :)

Jeg får et output som dette :

http://www.kapow.dammoel.dk/index.php?site=members

Men nu er det så at jeg, linker på en måde så alle bliver vist som index.php!!!
Eksempel.
http://www.kapow.dammoel.dk/index.php?site=members
Der skal så stå "members" her :)
Site
/members

KODEN ER SOM FØLGER ;)

<?php
    $HOST= gethostbyaddr($ip);
$zeitz=time();

$deleteuser= mysql_query( "delete from cs_useronline where DATE < $zeitz -2000", $link);
$usergesamt= mysql_fetch_row(MYSQL_QUERY( "SELECT * FROM cs_useronline where IP='$ip'", $link));

if($usergesamt == false)
{
$ok= @mysql_query( "insert INTO cs_useronline (ID,IP,NAME,DATE) VALUES('$User_Id','$ip','$HOST','$zeitz')", $link)or die( "Unable to query
db!");
}
$resultit = mysql_query( "SELECT Count(*) as total FROM cs_useronline", $link);
$blubb= mysql_fetch_array($resultit);
echo "$blubb[total] $f_besucheronline<br>";
?></td>
  </tr>
</table>
            <p><strong>Online Right now.!</strong><br>
              <br>
              <?PHP
function ShowUsers() {

    $time            = explode(" ", microtime());
    $usersec        = (double)$time[1];
    mysql_query("DELETE FROM online_users WHERE date < $usersec -100");
    $countusers    = mysql_fetch_array(mysql_query("SELECT count(*) as total FROM online_users"));
   
    print ('<table CELLSPACING="2" width="450">');
    print ('<tr>');
    print ('<td><B>Ip</B></td>');
    print ('<td><B>Host</B></td>');
    print ('<td><B>Site</B></td>');
    print ('</tr>');
   
    $result = mysql_query("SELECT * FROM online_users");
    while ($row = mysql_fetch_array($result)) {
        print ('<tr>');
        print ('<td><small>'.$row[ip].'</small></td>');
        print ('<td><small>'.$row[host].'</small></td>');
        print ('<td><small>'.$row[page].'</small></td>');
        print ('</tr>');
    }
    print ('</table>');

}


/* dette skal indsættes på alle undersider */
function InsertUser() {
    global $REMOTE_ADDR, $HTTP_USER_AGENT, $PHP_SELF;
   
    $ip            = $REMOTE_ADDR;
    $host          = gethostbyaddr($ip);
    $page          = $PHP_SELF;
    $time            = explode(" ", microtime());
    $usersec        = (double)$time[1];
    mysql_query("DELETE FROM online_users WHERE ip like '$ip'");
    mysql_query("INSERT INTO online_users (ip,host,date,browser,page) VALUES ('$ip','$host','$usersec','$browser','$page')");
}
InsertUser();
/* her til */


showUsers();


?>
Avatar billede fragze Juniormester
15. januar 2004 - 09:17 #1
Outputtet i den første gik lige galt der ;)

men her :P

Ip Host Site
xxx.xxx.xxx.xxx wraa.adsl-fixed.tele.dk /index.php
Avatar billede Slettet bruger
15. januar 2004 - 10:14 #2
Du har en variabel der hedder $page på alle dine undersider. Prøv at ændre denne variabel fra: $page = $PHP_SELF; til $page = $_GET['site'];
Avatar billede fragze Juniormester
15. januar 2004 - 10:23 #3
nej har jeg så ikk...

<?php
//Pulic Sites
$sitelist['front']='front.php';
$sitelist['front-de']='front-de.php';
$sitelist['press']='press.php';
$sitelist['members']='members.php';

$sti = $_SERVER["DOCUMENT_ROOT"] ."/";
if(isset($_REQUEST["site"]) && file_exists($sti . $sitelist[$_REQUEST["site"]])) {
    include($sti . $sitelist[$_REQUEST["site"]]);
} else {
    include($sti ."front.php");
}
?>
Avatar billede Slettet bruger
15. januar 2004 - 10:26 #4
aha ja selvfølgelig. Du bruger kun en side med dit design, resten er ren tekst.
Men du har dette til at stå et sted i din index.php

function InsertUser() {
    global $REMOTE_ADDR, $HTTP_USER_AGENT, $PHP_SELF;
   
    $ip            = $REMOTE_ADDR;
    $host          = gethostbyaddr($ip);
    $page          = $PHP_SELF;
    $time            = explode(" ", microtime());
    $usersec        = (double)$time[1];
    mysql_query("DELETE FROM online_users WHERE ip like '$ip'");
    mysql_query("INSERT INTO online_users (ip,host,date,browser,page) VALUES ('$ip','$host','$usersec','$browser','$page')");
}

Her ændre du så den variabel der hedder: $page = $PHP_SELF;
til: $page = $_GET['site'];
Avatar billede fragze Juniormester
15. januar 2004 - 10:34 #5
Dette er hele min index.php ;

<? ob_start(); ?>
<?php
include("functions/connect.php");
?>
<html>

<head>

<title>team kapow!</title>

<link rel="STYLESHEET" type="text/css" href="style.css">

</head>

<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

<a name="top">

<table width=100% height=100% border="0" cellpadding="0" cellspacing="0">
<tr>
<td align=center>

<table id="Table_01" width="900" height=100% border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td colspan="3" rowspan="5" background="images/kapow_01.gif"></td>
        <td rowspan="3">
            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="222" height="82">
              <param name="movie" value="header.swf">
              <param name="quality" value="high">
              <embed src="header.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="222" height="82"></embed>
            </object></td>
        <td colspan="11">
            <img src="images/kapow_03.gif" width="491" height="11" alt=""></td>
    </tr>
    <tr>
        <td>
            <img src="images/kapow_04.gif" width="2" height="60" alt=""></td>
        <td colspan="8">
            <a href="http://www.error9.com" target="_blank"><img src="images/kapow_05.gif" alt="" width="468" height="60" border="0"></a></td>
        <td colspan="2">
            <img src="images/kapow_06.gif" width="21" height="60" alt=""></td>
    </tr>
    <tr>
        <td colspan="11">
            <img src="images/kapow_07.gif" width="491" height="11" alt=""></td>
    </tr>
    <tr>
        <td>
            <img src="images/kapow_08.gif" width="222" height="29" alt=""></td>
        <td colspan="2">
            <a href="index.php?site=front"><img src="images/news.gif" width="52" height="29" alt="" onMouseOver="this.src='images/news2.gif'; return true;" onMouseOut="this.src='images/news.gif'; return true" border=0></a></td>
        <td>
            <a href="index.php?site=press"><img src="images/press.gif" width="61" height="29" alt="" onMouseOver="this.src='images/press2.gif'; return true;" onMouseOut="this.src='images/press.gif'; return true" border=0></a></td>
        <td>
            <a href="index.php?site=members"><img src="images/members.gif" width="75" height="29" alt="" onMouseOver="this.src='images/members2.gif'; return true;" onMouseOut="this.src='images/members.gif'; return true" border=0></a></td>
        <td>
            <a href="index.php?site=events"><img src="images/events.gif" width="70" height="29" alt="" onMouseOver="this.src='images/events2.gif'; return true;" onMouseOut="this.src='images/events.gif'; return true" border=0></a></td>
        <td>
            <a href="index.php?site=results"><img src="images/results.gif" width="72" height="29" alt="" onMouseOver="this.src='images/result2.gif'; return true;" onMouseOut="this.src='images/results.gif'; return true" border=0></a></td>
        <td>
            <a href="index.php?site=history"><img src="images/history.gif" width="73" height="29" alt="" onMouseOver="this.src='images/history2.gif'; return true;" onMouseOut="this.src='images/history.gif'; return true" border=0></a></td>
        <td colspan="3">            <a href="index.php?site=partners"><img src="images/partners1.gif" width="78" height="29" alt="" onMouseOver="this.src='images/partners2.gif'; return true;" onMouseOut="this.src='images/partners1.gif'; return true" border=0></a></td>
        <td rowspan="2">
            <img src="images/kapow_16.gif" width="10" height="57" alt=""></td>
    </tr>
    <tr>
        <td width="703" height="28" colspan="11" align="right" background="images/login.gif"><?php
include("login.php");
?>
            </td>
    </tr>
    <tr>
        <td colspan="15">
            <img src="images/kapow_18.gif" width="900" height="22" alt=""></td>
    </tr>
    <tr>
        <td background="images/kapow_19.gif" width="10" height=100%>
          </td>
        <td background="images/nav.gif" width="175" height=100% valign=top><?php
include("left.php");
?>
          <br>
          </td>
        <td background="images/kapow_21.gif" width="2" height=100%>
          </td>
        <td colspan="11" background="images/content.gif" width="703" height=100% valign=top>
            <TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0>
<tr>
<td width=530 valign=top align=center>


<?php
//Pulic Sites
$sitelist['front']='front.php';
$sitelist['front-de']='front-de.php';
$sitelist['press']='press.php';
$sitelist['members']='members.php';
$sitelist['members-de']='members-de.php';
$sitelist['events']='events.php';
$sitelist['results']='results.php';
$sitelist['results-de']='results-de.php';
$sitelist['history']='history.php';
$sitelist['cart']='cart.php';
$sitelist['checkout']='checkout.php';
$sitelist['products']='products.php';
$sitelist['varer']='varer.php';
$sitelist['varer-de']='varer-de.php';
$sitelist['vare']='vare.php';
$sitelist['partners']='partners.php';
$sitelist['preview']='preview.php';
$sitelist['wronglogin']='wronglogin.php';
$sitelist['download']='download.php';

//Admin Sites
$sitelist['admin']='admin.php';
$sitelist['addnews']='addnews.php';
$sitelist['addmatch']='addmatch.php';
$sitelist['editmatches']='editmatches.php';
$sitelist['editmatches-de']='editmatches-de.php';
$sitelist['editnews']='editnews.php';
$sitelist['editnews-comment']='editnews-comment.php';
$sitelist['editnews-de']='editnews-de.php';
$sitelist['addban']='addban.php';
$sitelist['addmember']='addmember.php';
$sitelist['banned']='banned.php';
$sitelist['edit']='edit.php';
$sitelist['editban']='editban.php';
$sitelist['test']='test/test.php';
$sitelist['stats']='stats.php';
$sitelist['super']='super.php';
$sitelist['noob']='noob.php';
$sitelist['addpress']='addpress.php';
$sitelist['editpress']='editpress.php';
$sitelist['editpress-de']='editpress-de.php';
$sitelist['addevent']='addevent.php';
$sitelist['editevent']='editevent.php';
$sitelist['editevent-de']='editevent-de.php';
$sitelist['faq']='faq.php';
$sitelist['pracc']='pracc.php';
$sitelist['addpracc']='addpracc.php';
$sitelist['editpracc']='editpracc.php';
$sitelist['adddemo']='adddemo.php';
$sitelist['editdemo']='editdemo.php';
$sitelist['editdemo-de']='editdemo-de.php';
$sitelist['additem']='additem.php';
$sitelist['edititem']='edititem.php';
$sitelist['edititem-de']='edititem-de.php';

$sti = $_SERVER["DOCUMENT_ROOT"] ."/";
if(isset($_REQUEST["site"]) && file_exists($sti . $sitelist[$_REQUEST["site"]])) {
    include($sti . $sitelist[$_REQUEST["site"]]);
} else {
    include($sti ."front.php");
}
?>
</td>
<td width=200 align=center valign=top>
    <TABLE WIDTH=175 BORDER=0 CELLPADDING=0 CELLSPACING=0>
    <TR>
    <TD>
    <IMG SRC="images/tab_top.gif" WIDTH=175 HEIGHT=17 ALT=""></TD>
    </TR>
    <TR>
    <TD background="images/tab_middle.gif" WIDTH=175 align=center><?php
include("sponsor.php");
?></TD>
    </TR>
    <TR>
    <TD>
    <IMG SRC="images/tab_bottom.gif" WIDTH=175 HEIGHT=17 ALT=""></TD>
    </TR>
    </TABLE>


</td>
</tr>
</table></td>
        <td background="images/kapow_23.gif" width="10" height=100%>
          </td>
    </tr>
    <tr>
        <td colspan="15">
            <img src="images/kapow_24.gif" width="900" height="8" alt=""></td>
    </tr>
    <tr>
        <td colspan="12" rowspan="2">
            <img src="images/kapow_25.gif" width="826" height="29" alt=""></td>
        <td colspan="2">
            <a href="#top"><img src="images/top1.gif" width="64" height="20" alt="" onMouseOver="this.src='images/top2.gif'; return true;" onMouseOut="this.src='images/top1.gif'; return true" border=0></td>
        <td>
            <img src="images/kapow_27.gif" width="10" height="20" alt=""></td>
    </tr>
    <tr>
        <td colspan="3">
            <img src="images/kapow_28.gif" width="74" height="9" alt=""></td>
    </tr>
    <tr>
        <td>
            <img src="images/spacer.gif" width="10" height="1" alt=""></td>
        <td>
            <img src="images/spacer.gif" width="175" height="1" alt=""></td>
        <td>
            <img src="images/spacer.gif" width="2" height="1" alt=""></td>
        <td>
            <img src="images/spacer.gif" width="222" height="1" alt=""></td>
        <td>
            <img src="images/spacer.gif" width="2" height="1" alt=""></td>
        <td>
            <img src="images/spacer.gif" width="50" height="1" alt=""></td>
        <td>
            <img src="images/spacer.gif" width="61" height="1" alt=""></td>
        <td>
            <img src="images/spacer.gif" width="75" height="1" alt=""></td>
        <td>
            <img src="images/spacer.gif" width="70" height="1" alt=""></td>
        <td>
            <img src="images/spacer.gif" width="72" height="1" alt=""></td>
        <td>
            <img src="images/spacer.gif" width="73" height="1" alt=""></td>
        <td>
            <img src="images/spacer.gif" width="14" height="1" alt=""></td>
        <td>
            <img src="images/spacer.gif" width="53" height="1" alt=""></td>
        <td>
            <img src="images/spacer.gif" width="11" height="1" alt=""></td>
        <td>
            <img src="images/spacer.gif" width="10" height="1" alt=""></td>
    </tr>
</table>
</td>
</tr>
</table>
</body>
</html>
<? ob_end_flush(); ?>
Avatar billede fragze Juniormester
15. januar 2004 - 10:36 #6
og her er så den side som viser brugere :) og det må sq være i den et sted ;)

<?php
    $HOST= gethostbyaddr($ip);
$zeitz=time();

$deleteuser= mysql_query( "delete from cs_useronline where DATE < $zeitz -2000", $link);
$usergesamt= mysql_fetch_row(MYSQL_QUERY( "SELECT * FROM cs_useronline where IP='$ip'", $link));

if($usergesamt == false)
{
$ok= @mysql_query( "insert INTO cs_useronline (ID,IP,NAME,DATE) VALUES('$User_Id','$ip','$HOST','$zeitz')", $link)or die( "Unable to query
db!");
}
$resultit = mysql_query( "SELECT Count(*) as total FROM cs_useronline", $link);
$blubb= mysql_fetch_array($resultit);
echo "$blubb[total] $f_besucheronline<br>";
?></td>
  </tr>
</table>
            <p><strong>Online Right now.!</strong><br>
              <br>
              <?PHP
function ShowUsers() {

    $time            = explode(" ", microtime());
    $usersec        = (double)$time[1];
    mysql_query("DELETE FROM online_users WHERE date < $usersec -100");
    $countusers    = mysql_fetch_array(mysql_query("SELECT count(*) as total FROM online_users"));
   
    print ('<table CELLSPACING="2" width="450">');
    print ('<tr>');
    print ('<td><B>Ip</B></td>');
    print ('<td><B>Host</B></td>');
    print ('<td><B>Site</B></td>');
    print ('</tr>');
   
    $result = mysql_query("SELECT * FROM online_users");
    while ($row = mysql_fetch_array($result)) {
        print ('<tr>');
        print ('<td><small>'.$row[ip].'</small></td>');
        print ('<td><small>'.$row[host].'</small></td>');
        print ('<td><small>'.$row[page].'</small></td>');
        print ('</tr>');
    }
    print ('</table>');

}


/* dette skal indsættes på alle undersider */
function InsertUser() {
    global $REMOTE_ADDR, $HTTP_USER_AGENT, $PHP_SELF;
   
    $ip            = $REMOTE_ADDR;
    $host          = gethostbyaddr($ip);
    $page          = $PHP_SELF;
    $time            = explode(" ", microtime());
    $usersec        = (double)$time[1];
    mysql_query("DELETE FROM online_users WHERE ip like '$ip'");
    mysql_query("INSERT INTO online_users (ip,host,date,browser,page) VALUES ('$ip','$host','$usersec','$browser','$page')");
}
InsertUser();
/* her til */


showUsers();


?>
Avatar billede Slettet bruger
15. januar 2004 - 10:45 #7
Men når du nu kun bruger en index.php til at styre dit layout skal den lille kode naturligvis også være i index.php.

I din index.php har du noget php kode inden du begynder på <html>.
Indsæt dette istedet for den nuværende php kode.

<?PHP
ob_start();
include("functions/connect.php");

function InsertUser() {
    global $REMOTE_ADDR, $HTTP_USER_AGENT, $PHP_SELF;
    $ip = $REMOTE_ADDR;
    $host = gethostbyaddr($ip);
    $test = $_GET[site];
    if(!isset($test)) {
        $page = "index.php";
    } else {
        $page = $test;
    }
    $time = explode(" ", microtime());
    $usersec = (double)$time[1];
    mysql_query("DELETE FROM online_users WHERE ip like '$ip'");
    mysql_query("INSERT INTO online_users (ip,host,date,browser,page) VALUES ('$ip','$host','$usersec','$browser','$page')");
}

InsertUser();
?>
Avatar billede fragze Juniormester
15. januar 2004 - 11:00 #8
done
Avatar billede fragze Juniormester
15. januar 2004 - 11:01 #9
jeg får nu denne error

Fatal error: Cannot redeclare insertuser() (previously declared in /hsphere/local/home/fraggel/kapow.dammoel.dk/index.php:5) in /hsphere/local/home/fraggel/kapow.dammoel.dk/stats.php on line 151
Avatar billede Slettet bruger
15. januar 2004 - 11:03 #10
På den side hvor brugeren kan se hvem der er online, skal du nok også lige slette funktionen som står nederst i scriptet. Altså følgende:

/* dette skal indsættes på alle undersider */
function InsertUser() {
    global $REMOTE_ADDR, $HTTP_USER_AGENT, $PHP_SELF;
   
    $ip            = $REMOTE_ADDR;
    $host          = gethostbyaddr($ip);
    $page          = $PHP_SELF;
    $time            = explode(" ", microtime());
    $usersec        = (double)$time[1];
    mysql_query("DELETE FROM online_users WHERE ip like '$ip'");
    mysql_query("INSERT INTO online_users (ip,host,date,browser,page) VALUES ('$ip','$host','$usersec','$browser','$page')");
}
InsertUser();
/* her til */

ellers vil den løbe funktionen igennem to gange.
Men så skulle du også være køreklar :)
Avatar billede fragze Juniormester
15. januar 2004 - 11:03 #11
fjernede bare insert functionen... :) men nu lister den kun 1 lige meget hvor mange der er online... :-/
Avatar billede fragze Juniormester
15. januar 2004 - 11:09 #12
Virker nu efter lidt tweak :D

thX
Avatar billede Slettet bruger
15. januar 2004 - 11:13 #13
Godt du fik det til at virke.
Den viste nok kun en online da den jo også napper din ip, så det hjælper ikke noget at have flere browsere åbnet. Det skyldes linjen:
mysql_query("DELETE FROM online_users WHERE ip like '$ip'");

Men at du fik det til at virke, er jo kun godt :)
Tak for points, og held og lykke med siden.
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