+ Antworten
Seite 1 von 4 1 2 3 4 LetzteLetzte
Ergebnis 1 bis 15 von 57

Thema: Referer mitloggen

  1. #1
    DSB
    DSB ist offline
    TP-Veteran DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE Avatar von DSB
    Registriert seit
    Mar 2005
    Ort
    Weyhe
    Beiträge
    1.137

    Referer mitloggen

    Hallo TPler,

    als Foren- und Webseitenbetreiber interessiert es einen Admin doch sehr, woher seine Besucher kommen und wer auf die eigene Webseite verlinkt.
    Zwar gibt es dafür Auswertungsmöglichkeiten über diverse Programme, die die Logfiles auswerten, jedoch vermisste ich dabei eine übersichtliche Darstellung.

    Also habe ich es mir selbst gemacht.

    Mein Script wertet den übergebenen Referer aus und speichert die wichtigsten Daten in einer MySQL-Datenbank ab. Über einen Adminbereich kann man sich die Referer sehr übersichtlich nach Domain, Anzahl der Klicks und letztem Zugriff sortiert für einen auswählbaren Monat anzeigen lassen (siehe Anhang1 - counter1.gif).
    Dabei werden neue Einträge in einer anderen Farbe hervorgehoben und am Anfang der Liste angezeigt. So hat man immer eine schnelle Übersicht und sieht sofort, welche Referer neu hinzugekommen sind.
    Der Vorteil meines Scripts liegt darin, dass die Referer nach Domain gruppiert werden. Klickt man nun auf einen Domainnamen, so öffnet sich ein zweites Fenster, in welchem nun alle Unterseiten, die von dieser Domain auf die eigene Webseite verlinken, aufgelistet werden (siehe Anhang 2 - counter2.gif).
    Auch hier werden neue Einträge farblich hervorgehoben. Klickt man auf einen Eintrag, so gelangt man direkt zu der Webseite, welche verlinkt hat. Zusätzlich wird die farbliche Markierung nun aufgehoben. So kann man die Liste einfach "abarbeiten".

    Die Technik:
    es liegt eine kurze ReadMe-Datei bei, welche die Installation erklärt.
    Das Script enthält eine Klasse, welche auf den Seiten eingebunden werden muss, die die Referer mitloggen sollen.
    Über Parameter in der "functions.php" kann man bestimmte Domains blocken (127.0.0.1, localhost, usw ...). Ferner kann man Teile des GET-Strings ignorieren lassen ('sid=','session=','phpsessid=','highlight=', usw...), damit die Einzelseiten korrekt gruppiert werden (der wirkliche Referer wird dabei nicht verändert).

    Als Extra-Bonbon wird bei einem Refererklick von Google der Suchstring extrahiert. Schaut man sich die Refererliste für Google an, so hat man schön nach Häufigkeit sortiert eine Liste der Suchbegriffe, die die User bei Google tatsächlich eingegeben haben. Diese Liste kann man dazu nutzen seine Webseite hinsichtlich Suchbegriffe weiter zu optimieren.

    Abschließend bleibt zu sagen, dass der Referer nicht zwangsläufig vom Browser übermittelt werden muss. Er kann auch durch eine Firewall geblockt werden. Nichtsdestotrotz liefert einem das Script einen sehr guten Überblick darüber, wer auf die eigene Webseite verlinkt.
    Ich selbst nutze es für das Projekt www.mysqldumper.de . Jeden Tag bin ich mindestens einmal im Adminbereich und bin jedes Mal aus Neue gespannt, welche neuen Einträge es gibt. Auf diese Weise bin ich schon in viele Foren gekommen, zu denen ich sonst nie gelangt wäre.

    Probiert das Script aus und gebt hier gerne Feedback.
    Verbesserungen sind natürlich jederzeit willkommen.

    Viel Spaß bei der Herkunftsermittlung Deiner User.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Referer mitloggen-counter1.gif   Referer mitloggen-counter2.gif  
    Angehängte Dateien
    Geändert von DSB (11.09.2005 um 13:14 Uhr)
    Gruß, DSB
    Einfaches Backup/ Restore Deiner MySQl-Datenbank
    Zend Certified Engineer PHP5

  2. #2
    DSB
    DSB ist offline
    TP-Veteran DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE Avatar von DSB
    Registriert seit
    Mar 2005
    Ort
    Weyhe
    Beiträge
    1.137
    Achja, ein kleines aber nettes Detail habe ich noch eingebaut.
    Wenn man im Adminbereich auf die Spaltenüberschriften klickt, wird die Ansicht abwechselnd auf- oder absteigend nach dieser Spalte sortiert.
    Gruß, DSB
    Einfaches Backup/ Restore Deiner MySQl-Datenbank
    Zend Certified Engineer PHP5

  3. #3
    DSB
    DSB ist offline
    TP-Veteran DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE Avatar von DSB
    Registriert seit
    Mar 2005
    Ort
    Weyhe
    Beiträge
    1.137
    Hm, ich muss sagen, dass ich ein wenig enttäuscht bin.
    Sicherlich habe ich nicht mit 3456 Postings als Antwort gerechnet aber das jetzt gar nichts passiert und sich so gut wie niemand dafür interessiert erstaunt mich doch sehr.
    Finde nur ich es interessant wie die User zu meiner Seite finden und von welcher Seiten auf mich verlinkt wird?
    Gruß, DSB
    Einfaches Backup/ Restore Deiner MySQl-Datenbank
    Zend Certified Engineer PHP5

  4. #4
    jow
    jow ist offline
    TP-Insider jow macht sich hier sehr viel Mühe Avatar von jow
    Registriert seit
    Aug 2002
    Ort
    Sinsheim
    Beiträge
    572
    Hm, hab in letzter Zeit nicht so gründlich die neuen Topics durchgeschaut, habs erst jetzt gesehen. Werde es morgen gleich mal in meine Seite einbauen un testen

    Screenshots & Funktionsbeschreibung sieht schonmal vielversprechend aus
    "Dieses Business ist binär. Du bist eine Eins oder eine Null, lebendig oder tot. Es gibt keinen zweiten Sieger." - Gary Winston (StartUp)

  5. #5
    TP-Specialist phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von phpBuddy
    Registriert seit
    Aug 2004
    Ort
    Kaiserslautern
    Beiträge
    4.678
    Zitat Zitat von DSB
    Hm, ich muss sagen, dass ich ein wenig enttäuscht bin.
    Sicherlich habe ich nicht mit 3456 Postings als Antwort gerechnet aber das jetzt gar nichts passiert und sich so gut wie niemand dafür interessiert erstaunt mich doch sehr.
    Finde nur ich es interessant wie die User zu meiner Seite finden und von welcher Seiten auf mich verlinkt wird?
    Hmm, weiß nicht. Vielleicht liegt es aber auch daran, daß die meisten Provider -sofern man keinen eigenen Server betreibt- ohnehin ausführliche Statistiken inklusive anbieten, die Zugriffe, Referer usw detailliert anzeigen.

  6. #6
    jow
    jow ist offline
    TP-Insider jow macht sich hier sehr viel Mühe Avatar von jow
    Registriert seit
    Aug 2002
    Ort
    Sinsheim
    Beiträge
    572
    Hi, habs jetzt schon 'ne weile laufen und find das echt gut und praktisch da ich hier genau die Sachen bekomme die ich wissen will ohne die kompletten Logs zu durchforsten was mir schon einiges an Zeit spart.
    "Dieses Business ist binär. Du bist eine Eins oder eine Null, lebendig oder tot. Es gibt keinen zweiten Sieger." - Gary Winston (StartUp)

  7. #7
    DSB
    DSB ist offline
    TP-Veteran DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE Avatar von DSB
    Registriert seit
    Mar 2005
    Ort
    Weyhe
    Beiträge
    1.137
    Juchhee - ein Stück Zuspruch!

    Danke jow.
    Danke für Dein Feedback.
    Dann hat es ja doch noch einen Sinn gehabt, dass ich das veröffentlicht habe.

    Jetzt gehts mir besser. *g*
    Gruß, DSB
    Einfaches Backup/ Restore Deiner MySQl-Datenbank
    Zend Certified Engineer PHP5

  8. #8
    jow
    jow ist offline
    TP-Insider jow macht sich hier sehr viel Mühe Avatar von jow
    Registriert seit
    Aug 2002
    Ort
    Sinsheim
    Beiträge
    572
    Schön, dass ich dein Gemüt erhellen konnte
    "Dieses Business ist binär. Du bist eine Eins oder eine Null, lebendig oder tot. Es gibt keinen zweiten Sieger." - Gary Winston (StartUp)

  9. #9
    TP-Junior philson macht alles soweit korrekt
    Registriert seit
    Feb 2006
    Beiträge
    14
    hi habe den beitrag im google gefunden und wollte den referer gleich in meine hp einbauen. hat eigentlich alles gut funktioniert. doch wird nichts mitgeloggt.

    habs mal auf meiner testseite und datenbank installiert

    http://philson2.ph.funpic.de/referer/admin/


    http://philson2.ph.funpic.de/wbb

    und hier die index.php

    Code:
    <style type="text/css">
    
    <!--
    body {
    	margin-left: 0px;
    	margin-top: 0px;
    	margin-right: 0px;
    	margin-bottom: 0px;
    }
    include("http://philson2.ph.funpic.de/referer/functions.php");
    $visitor=new visitor();
    $visitor->set();
    -->
    </style><?php
    $filename="index.php";
    
    require("./global.php");
    
    if(isset($_COOKIE['boardvisit'])) $boardvisit=decode_cookie($_COOKIE['boardvisit']);
    else $boardvisit=array();
    
    if(isset($_COOKIE['threadvisit'])) $threadvisit=decode_cookie($_COOKIE['threadvisit']);
    else $threadvisit=array();
    
    $boardcache=array();
    $permissioncache=array();
    $modcache=array();
    
    $activtime=time()-60*$useronlinetimeout;
    $users_out = $db->query("SELECT * FROM bb".$n."_useronline WHERE zeit<'$activtime' AND userid<>'0'");
            while($user_out = $db->fetch_array($users_out)){
    		$onlinetime=$user_out[zeit]-$user_out[logintime];
    		$db->query("UPDATE bb".$n."_users SET onlinetime=onlinetime+$onlinetime WHERE userid='$user_out[userid]'");
    	}
            $db->query("DELETE FROM bb".$n."_useronline WHERE zeit<'$activtime'");
            if($wbbuserdata[userid] !=0) {
                    $anzahl = $db->query_first("SELECT COUNT(zeit)as anzahl FROM bb".$n."_useronline WHERE userid='$wbbuserdata[userid]'");
                    if($anzahl[anzahl]) $db->query("UPDATE bb".$n."_useronline SET zeit='".time()."' WHERE userid='$wbbuserdata[userid]'");
             else $db->query("INSERT INTO bb".$n."_useronline VALUES ('".time()."','$wbbuserdata[userid]','".time()."')");
    
            }
    
    $result = $db->query("
     SELECT
     b.*".ifelse($showlastposttitle==1,", t.topic, i.*")."
     FROM bb".$n."_boards b
     ".ifelse($showlastposttitle==1,"LEFT JOIN bb".$n."_threads t ON (t.threadid=b.lastthreadid)
     LEFT JOIN bb".$n."_icons i USING (iconid)")."
     ORDER by b.parentid ASC, b.boardorder ASC");
    while ($row = $db->fetch_array($result)) $boardcache[$row['parentid']][$row['boardorder']][$row['boardid']] = $row;
    
    
    $result = $db->query("SELECT boardid, threadid, lastposttime FROM bb".$n."_threads WHERE visible = 1 AND lastposttime > '$wbbuserdata[lastvisit]' AND closed <> 3");
    while($row=$db->fetch_array($result)) $visitcache[$row['boardid']][$row['threadid']]=$row['lastposttime'];
    
    $result = $db->query("SELECT * FROM bb".$n."_permissions WHERE groupid = '$wbbuserdata[groupid]'");
    while ($row = $db->fetch_array($result)) $permissioncache[$row['boardid']] = $row;
    
    $result = $db->query("SELECT bb".$n."_moderators.*, username FROM bb".$n."_moderators LEFT JOIN bb".$n."_users USING (userid) ORDER BY username ASC");
    while ($row = $db->fetch_array($result)) $modcache[$row['boardid']][] = $row;
    
    $boardbit = makeboardbit(0);
    
    $index_pms="";
    $quicklogin="";
    $index_useronline="";
    $index_stats="";
    
    /* ############## STATS ############## */
    if($showstats==1) {
     $members=$db->query_first("SELECT COUNT(*) AS members, MAX(userid) AS userid FROM bb".$n."_users WHERE activation = 1");
     $newestmember=$db->query_first("SELECT userid, username FROM bb".$n."_users WHERE userid = '$members[userid]'");
     $posts=$db->query_first("SELECT COUNT(*) AS posts FROM bb".$n."_posts");
     $threads=$db->query_first("SELECT COUNT(*) AS threads FROM bb".$n."_threads");
    
     $installdays = (time() - $installdate) / 86400;
     if ($installdays < 1) $postperday = $posts['posts'];
     else $postperday = sprintf("%.2f",($posts['posts'] / $installdays));
    
     eval ("\$index_stats = \"".$tpl->get("index_stats")."\";");
    }
    if($wbbuserdata['canuseacp']==1) {
    $abwesend_res = $db->query_first("SELECT count(userid) FROM bb".$n."_users WHERE abwesend='1'");
    $abwesend_user = $abwesend_res[0];
    $abwesend_res = $db->query_first("SELECT count(userid) FROM bb".$n."_users WHERE abwesend='1' AND abwesend_timer2<='".time()."'");
    $abwesend_user1 = $abwesend_res[0];
     eval ("\$abwesend = \"".$tpl->get("main_abwesendstat")."\";");
    }
    /* ############## USERONLINE ############## */
    if($showuseronline==1) {
     $guestcount=0;
     $membercount=0;
     $useronlinebit = '';
     $result = $db->query("SELECT bb".$n."_sessions.userid, username, groupid, invisible FROM bb".$n."_sessions LEFT JOIN bb".$n."_users USING (userid) WHERE bb".$n."_sessions.lastactivity >= '".(time()-60*$useronlinetimeout)."' ORDER BY username ASC");
     while($row = $db->fetch_array($result)) {
      if($row['userid']==0) {
       $guestcount++;
       continue;
      }
      $membercount++;
      	if(!$row['invisible']) {
      		if(isset($useronlinebit) && $useronlinebit != '') $useronlinebit .= ', ';
      		eval ("\$useronlinebit .= \"".$tpl->get("index_useronline")."\";");
      	}
     }
     $totaluseronline = $membercount+$guestcount;
     $wwd_useron = $db->query_first("SELECT COUNT(*) FROM bb".$n."_sessions_day");
     $wwd_useron = $wwd_useron[0];
     $result=$db->query("SELECT d.userid, d.time,u.* FROM bb".$n."_sessions_day d LEFT JOIN bb".$n."_users u USING(userid)");
     while($wwd=$db->fetch_array($result)) {
     $wwd['time'] = formatdate($timeformat,$wwd['time']);
     $werwarda1++;
     $ghost = "";
     if($wwd['invisible']){
     if($wbbuserdata['canuseacp'] == 1) {
         $ghost = " (Geist)";
         eval ("\$werwarda .= \"".$tpl->get("index_wwhd")."\";");
     }else{
      $ghost = "";
      continue;
    }
    }else eval ("\$werwarda .= \"".$tpl->get("index_wwhd")."\";");
     }
     if($totaluseronline>$rekord) {
      $rekord=$totaluseronline;
      $rekordtime=time();
      $db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekord' WHERE varname='rekord'",1);
      $db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekordtime' WHERE varname='rekordtime'",1);
      require ("./acp/lib/class_options.php");
      $option=new options("acp/lib");
      $option->write();
     }
     $rekorddate = formatdate($dateformat,$rekordtime);
     $rekordtime = formatdate($timeformat,$rekordtime);
     eval ("\$index_useronline = \"".$tpl->get("index_showuseronline")."\";");
    }
    
    
    if(!$wbbuserdata['userid']) {
     eval ("\$welcome = \"".$tpl->get("index_welcome")."\";");
     eval ("\$quicklogin = \"".$tpl->get("index_quicklogin")."\";");
    }
    else {
     $currenttime=formatdate($timeformat,time());
     $toffset=ifelse($default_timezoneoffset>=0,"+").$default_timezoneoffset;
     $lastvisitdate = formatdate($dateformat,$wbbuserdata['lastvisit']);
     $lastvisittime = formatdate($timeformat,$wbbuserdata['lastvisit']);
     eval ("\$welcome = \"".$tpl->get("index_hello")."\";");
     if($wbbuserdata['canusepms']==1 && $showpmonindex==1) {
      $counttotal=0; $countunread=0; $countnew=0;
      $result = $db->query("SELECT view, sendtime FROM bb".$n."_privatemessage WHERE deletepm <> 1 AND recipientid = '$wbbuserdata[userid]'");
      while($row=$db->fetch_array($result)) {
       $counttotal++;
       if($row['view']==0) {
        $countunread++;
        if($row['sendtime']>$wbbuserdata['lastvisit']) $countnew++;
       }
      }
    
      if($countnew>0) eval ("\$new_notnew = \"".$tpl->get("index_newpm")."\";");
      else eval ("\$new_notnew = \"".$tpl->get("index_nonewpm")."\";");
      eval ("\$index_pms = \"".$tpl->get("index_pms")."\";");
     }
    }
    eval("\$tpl->output(\"".$tpl->get("index")."\");");
    
    
    ?>
    was hab ich falsch gemacht? kann mir wer helfen thx

  10. #10
    DSB
    DSB ist offline
    TP-Veteran DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE Avatar von DSB
    Registriert seit
    Mar 2005
    Ort
    Weyhe
    Beiträge
    1.137
    lol - Du führst den PHP-Teil ja auch nicht aus. Der steht so im Quelltext.
    Mach mal um
    Code:
    include("http://philson2.ph.funpic.de/referer/functions.php");
    $visitor=new visitor();
    $visitor->set();
    die PHP-Tags drumrum.
    Code:
    <?php 
    include("http://philson2.ph.funpic.de/referer/functions.php");
    $visitor=new visitor();
    $visitor->set();
    ?>
    Gruß, DSB
    Einfaches Backup/ Restore Deiner MySQl-Datenbank
    Zend Certified Engineer PHP5

  11. #11
    TP-Junior philson macht alles soweit korrekt
    Registriert seit
    Feb 2006
    Beiträge
    14
    k thx

    habs eingefügt

    bekomm aber jetzt ganz unten ne fehlermeldung

    Code:
    <style type="text/css">
    <!--
    body {
    	margin-left: 0px;
    	margin-top: 0px;
    	margin-right: 0px;
    	margin-bottom: 0px;
    }
    -->
    </style><?php
    $filename="index.php";
    
    require("./global.php");
    
    if(isset($_COOKIE['boardvisit'])) $boardvisit=decode_cookie($_COOKIE['boardvisit']);
    else $boardvisit=array();
    
    if(isset($_COOKIE['threadvisit'])) $threadvisit=decode_cookie($_COOKIE['threadvisit']);
    else $threadvisit=array();
    
    $boardcache=array();
    $permissioncache=array();
    $modcache=array();
    
    $activtime=time()-60*$useronlinetimeout;
    $users_out = $db->query("SELECT * FROM bb".$n."_useronline WHERE zeit<'$activtime' AND userid<>'0'");
            while($user_out = $db->fetch_array($users_out)){
    		$onlinetime=$user_out[zeit]-$user_out[logintime];
    		$db->query("UPDATE bb".$n."_users SET onlinetime=onlinetime+$onlinetime WHERE userid='$user_out[userid]'");
    	}
            $db->query("DELETE FROM bb".$n."_useronline WHERE zeit<'$activtime'");
            if($wbbuserdata[userid] !=0) {
                    $anzahl = $db->query_first("SELECT COUNT(zeit)as anzahl FROM bb".$n."_useronline WHERE userid='$wbbuserdata[userid]'");
                    if($anzahl[anzahl]) $db->query("UPDATE bb".$n."_useronline SET zeit='".time()."' WHERE userid='$wbbuserdata[userid]'");
             else $db->query("INSERT INTO bb".$n."_useronline VALUES ('".time()."','$wbbuserdata[userid]','".time()."')");
    
            }
    
    $result = $db->query("
     SELECT
     b.*".ifelse($showlastposttitle==1,", t.topic, i.*")."
     FROM bb".$n."_boards b
     ".ifelse($showlastposttitle==1,"LEFT JOIN bb".$n."_threads t ON (t.threadid=b.lastthreadid)
     LEFT JOIN bb".$n."_icons i USING (iconid)")."
     ORDER by b.parentid ASC, b.boardorder ASC");
    while ($row = $db->fetch_array($result)) $boardcache[$row['parentid']][$row['boardorder']][$row['boardid']] = $row;
    
    
    $result = $db->query("SELECT boardid, threadid, lastposttime FROM bb".$n."_threads WHERE visible = 1 AND lastposttime > '$wbbuserdata[lastvisit]' AND closed <> 3");
    while($row=$db->fetch_array($result)) $visitcache[$row['boardid']][$row['threadid']]=$row['lastposttime'];
    
    $result = $db->query("SELECT * FROM bb".$n."_permissions WHERE groupid = '$wbbuserdata[groupid]'");
    while ($row = $db->fetch_array($result)) $permissioncache[$row['boardid']] = $row;
    
    $result = $db->query("SELECT bb".$n."_moderators.*, username FROM bb".$n."_moderators LEFT JOIN bb".$n."_users USING (userid) ORDER BY username ASC");
    while ($row = $db->fetch_array($result)) $modcache[$row['boardid']][] = $row;
    
    $boardbit = makeboardbit(0);
    
    $index_pms="";
    $quicklogin="";
    $index_useronline="";
    $index_stats="";
    
    /* ############## STATS ############## */
    if($showstats==1) {
     $members=$db->query_first("SELECT COUNT(*) AS members, MAX(userid) AS userid FROM bb".$n."_users WHERE activation = 1");
     $newestmember=$db->query_first("SELECT userid, username FROM bb".$n."_users WHERE userid = '$members[userid]'");
     $posts=$db->query_first("SELECT COUNT(*) AS posts FROM bb".$n."_posts");
     $threads=$db->query_first("SELECT COUNT(*) AS threads FROM bb".$n."_threads");
    
     $installdays = (time() - $installdate) / 86400;
     if ($installdays < 1) $postperday = $posts['posts'];
     else $postperday = sprintf("%.2f",($posts['posts'] / $installdays));
    
     eval ("\$index_stats = \"".$tpl->get("index_stats")."\";");
    }
    if($wbbuserdata['canuseacp']==1) {
    $abwesend_res = $db->query_first("SELECT count(userid) FROM bb".$n."_users WHERE abwesend='1'");
    $abwesend_user = $abwesend_res[0];
    $abwesend_res = $db->query_first("SELECT count(userid) FROM bb".$n."_users WHERE abwesend='1' AND abwesend_timer2<='".time()."'");
    $abwesend_user1 = $abwesend_res[0];
     eval ("\$abwesend = \"".$tpl->get("main_abwesendstat")."\";");
    }
    /* ############## USERONLINE ############## */
    if($showuseronline==1) {
     $guestcount=0;
     $membercount=0;
     $useronlinebit = '';
     $result = $db->query("SELECT bb".$n."_sessions.userid, username, groupid, invisible FROM bb".$n."_sessions LEFT JOIN bb".$n."_users USING (userid) WHERE bb".$n."_sessions.lastactivity >= '".(time()-60*$useronlinetimeout)."' ORDER BY username ASC");
     while($row = $db->fetch_array($result)) {
      if($row['userid']==0) {
       $guestcount++;
       continue;
      }
      $membercount++;
      	if(!$row['invisible']) {
      		if(isset($useronlinebit) && $useronlinebit != '') $useronlinebit .= ', ';
      		eval ("\$useronlinebit .= \"".$tpl->get("index_useronline")."\";");
      	}
     }
     $totaluseronline = $membercount+$guestcount;
     $wwd_useron = $db->query_first("SELECT COUNT(*) FROM bb".$n."_sessions_day");
     $wwd_useron = $wwd_useron[0];
     $result=$db->query("SELECT d.userid, d.time,u.* FROM bb".$n."_sessions_day d LEFT JOIN bb".$n."_users u USING(userid)");
     while($wwd=$db->fetch_array($result)) {
     $wwd['time'] = formatdate($timeformat,$wwd['time']);
     $werwarda1++;
     $ghost = "";
     if($wwd['invisible']){
     if($wbbuserdata['canuseacp'] == 1) {
         $ghost = " (Geist)";
         eval ("\$werwarda .= \"".$tpl->get("index_wwhd")."\";");
     }else{
      $ghost = "";
      continue;
    }
    }else eval ("\$werwarda .= \"".$tpl->get("index_wwhd")."\";");
     }
     if($totaluseronline>$rekord) {
      $rekord=$totaluseronline;
      $rekordtime=time();
      $db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekord' WHERE varname='rekord'",1);
      $db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekordtime' WHERE varname='rekordtime'",1);
      require ("./acp/lib/class_options.php");
      $option=new options("acp/lib");
      $option->write();
     }
     $rekorddate = formatdate($dateformat,$rekordtime);
     $rekordtime = formatdate($timeformat,$rekordtime);
     eval ("\$index_useronline = \"".$tpl->get("index_showuseronline")."\";");
    }
    
    
    if(!$wbbuserdata['userid']) {
     eval ("\$welcome = \"".$tpl->get("index_welcome")."\";");
     eval ("\$quicklogin = \"".$tpl->get("index_quicklogin")."\";");
    }
    else {
     $currenttime=formatdate($timeformat,time());
     $toffset=ifelse($default_timezoneoffset>=0,"+").$default_timezoneoffset;
     $lastvisitdate = formatdate($dateformat,$wbbuserdata['lastvisit']);
     $lastvisittime = formatdate($timeformat,$wbbuserdata['lastvisit']);
     eval ("\$welcome = \"".$tpl->get("index_hello")."\";");
     if($wbbuserdata['canusepms']==1 && $showpmonindex==1) {
      $counttotal=0; $countunread=0; $countnew=0;
      $result = $db->query("SELECT view, sendtime FROM bb".$n."_privatemessage WHERE deletepm <> 1 AND recipientid = '$wbbuserdata[userid]'");
      while($row=$db->fetch_array($result)) {
       $counttotal++;
       if($row['view']==0) {
        $countunread++;
        if($row['sendtime']>$wbbuserdata['lastvisit']) $countnew++;
       }
      }
    
      if($countnew>0) eval ("\$new_notnew = \"".$tpl->get("index_newpm")."\";");
      else eval ("\$new_notnew = \"".$tpl->get("index_nonewpm")."\";");
      eval ("\$index_pms = \"".$tpl->get("index_pms")."\";");
     }
    }
    eval("\$tpl->output(\"".$tpl->get("index")."\");");
    
    
    ?>
    <?php 
    include("http://philson2.ph.funpic.de/referer/functions.php");
    $visitor=new visitor();
    $visitor->set();
    ?>
    Code:
    Fatal error: Cannot instantiate non-existent class: visitor in /usr/export/www/vhosts/funnetwork/hosting/philson2/wbb/index.php on line 167

  12. #12
    DSB
    DSB ist offline
    TP-Veteran DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE DSB ist ein richtiges Arbeitstier - DANKE Avatar von DSB
    Registriert seit
    Mar 2005
    Ort
    Weyhe
    Beiträge
    1.137
    Code:
    include("referer/functions.php");
    Gruß, DSB
    Einfaches Backup/ Restore Deiner MySQl-Datenbank
    Zend Certified Engineer PHP5

  13. #13
    TP-Junior philson macht alles soweit korrekt
    Registriert seit
    Feb 2006
    Beiträge
    14
    danke für deine schnellen antworten!

    doch bekomm ich nun dies:

    Code:
    Warning: main(referer/functions.php): failed to open stream: No such file or directory in /usr/export/www/vhosts/funnetwork/hosting/philson2/wbb/index.php on line 166
    
    Warning: main(): Failed opening 'referer/functions.php' for inclusion (include_path='.:') in /usr/export/www/vhosts/funnetwork/hosting/philson2/wbb/index.php on line 166
    
    Fatal error: Cannot instantiate non-existent class: visitor in /usr/export/www/vhosts/funnetwork/hosting/philson2/wbb/index.php on line 167
    ps functions.php hat alle schreib rechte
    Geändert von philson (28.02.2006 um 15:53 Uhr)

  14. #14
    321
    321 ist offline
    TP-Specialist 321 hilft, wo's geht 321 hilft, wo's geht 321 hilft, wo's geht Avatar von 321
    Registriert seit
    Nov 2004
    Ort
    Die Insel in Europa die aus Europa erst Europa macht _________________________ Nähe Lenzburg
    Beiträge
    4.248
    Moin Dani

    Habs eben erst entdeck, sonst wäre ich schon eher einer der 3456 Poster gewesen
    Ich finde das sehr nützlich, werde es mir DLen, danke!

    Zwei Fragen vorweg:
    1. Eine Domain blockieren: heisst das blockieren für weitere Besuche oder ausschliessen aus Statistik?
    2. ist alles ein (1) Script oder ein relativ kleines für die Aufzeichnung und ein grosses für die Auswertung?


    Edit: Fragen sind beantwortet
    Geändert von 321 (28.02.2006 um 16:53 Uhr)
    [321 Name="Joe"]
    wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
    [/321]


    use my HTML-Tester

    Motto'06: Mut zur deutschen Sprache!

  15. #15
    TP-Junior philson macht alles soweit korrekt
    Registriert seit
    Feb 2006
    Beiträge
    14
    hab gerade fehler gefunden! Falsches verzeichniss

    funkt super thx


+ Antworten
Seite 1 von 4 1 2 3 4 LetzteLetzte

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51