letzte besucher

Begonnen von smartmusic, 13 Mai 2004, 14:53:35

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Musicman75

ich denke mal der code müsste so aussehen:

if (mxIsUser()) {
sql_query("INSERT INTO gothic_users_visit (uid, vuid, time) VALUES ('".$uinfo['uid']."', '".$cookie[0]."', '".time()."')");
}


es wird also nur ein eintrag in der datenbank gemacht, wenn der besucher ein mitglied ist, bin mir aber mit dem funktionsnamen nicht ganz sicher
Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

Liu-Kang

Reicht es auch, wenn ich diese Zeilen aus dem Code entferne:
else{
        echo "<tr valign=\"top\"><td bgcolor=\"$bgcolor3\" width=\"15%\">";
        echo "".VWGetSexusString($sqluser['user_sexus'])." Gast</td><td bgcolor=\"$bgcolor3\">".$visit['time']."</td></tr>\n";
      }
?

NeMeSiSX2LC

Lui das von Musicman ist genau die richtig lösung
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Liu-Kang

Und wo muß ich das dann umändern bzw. einfügen?
Muß ich das:
sql_query("INSERT INTO ".$user_prefix."_users_visit (uid, vuid, time) VALUES ('".$uinfo['uid']."', '".$cookie[0]."', '".time()."')");
durch das:
if (mxIsUser()) {
sql_query("INSERT INTO gothic_users_visit (uid, vuid, time) VALUES ('".$uinfo['uid']."', '".$cookie[0]."', '".time()."')");
}

ersetzten?

NeMeSiSX2LC

CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Energy-drink

Hallo Jungs und Mädels... wenn ich das hier alles so lese dann verssteht einer der kein eingefleischter Coder ist nur noch Bahnhof  ???

Wenn ich mir hier mal alle Beiträge durchlese dann kommen wir von einem Code in den anderen und ich muss ehrlich sagen ich weiß persönlich nicht welchen Code ich jetzt einbauen soll und wo!!!

Wäre vielleicht einer so lieb von den Coder Gurus einfach mal einen schönen Eintrag zu schreiben, schön mit Punkt 1 - Punkt 2 - Punkt 3 etc. damit es auch die User verstehen die jede Zeile im MX auswendig kennen  ;)

wäre super nett wenn sich einer das mal zur Aufgabe nehmen würde da ich mir denke das dann wohl in naher Zukunft viele viele Fragen ausbleiben von Usern die diesen Beitrag in die Finger bekommen oder nach dieser Änderung suchen.

Ich hoffe es findet sich jemand... vielen Dank schon mal im voraus..



Ich bin alt aber bezahlt.... ;-)
Ich würde ja gerne die Welt verändern,
aber Gott gibt mir den Quellcode nicht!

tuningcar

ZitatIch hoffe es findet sich jemand... vielen Dank schon mal im voraus..

Währe echt super wenn es nochmal jemand ausführlich erklärt wo mann was einbauen muß .

Bei mir funzt des einfach ned  :-[

Liu-Kang

Seitdem ich die Änderung von Musicman vorgenommen habe werden die Besucher nicht mehr aufgezählt.

Energy-drink

So jetzt habe ich das auch mal selber probiert und ich muss sagen die Antwort #64 geht ohne probleme!!! Erstmal Respekt!!!  ;D

Das einzige was ich vielleicht ändern würde wäre wohl die Reloadsperre oder IPSperre.

So wie ich das jetzt rauslese wird jeder User nur alle 24 Stunden einmal angezeigt wenn er die selbe IP hat.

Wechselt die IP wird er auch öfters angezeigt.

Kann ich diese IP Sperre irgendwie rausnehmen oder verkürzen?? ich denke mal das 20 - 30 Minunten reichen würden...

Wer weiß was ich verändern muss am Code bei Antwort #64-
Ich bin alt aber bezahlt.... ;-)
Ich würde ja gerne die Welt verändern,
aber Gott gibt mir den Quellcode nicht!

gecealem

ich hätte auch mal eine frage....

bei mir funktioniert das mit den letzten besuchern im profil sehr gut....

...ich hätte gerne das über der seite angezeigt wird,wer sich zuletzt das profil angeschaut hat,wenn mann als user eingeloggt ist;)

muss doch so ähnlich laufen....wo müsste es eingebaut werden und wie würde es aussehen?

smartmusic

kann mir hier jemand helfen?

ich möchte nicht die letzten besucher im profil angezeigt haben sondern über der seite und nur der letzte besucher.

wo muss ich dann den code einbauen?

JoergK

Sodele, nach längerer Abstinenz schau ich auch mal wieder rein  :)

Zitat von: Liu-Kang am 31 März 2005, 11:18:31
Seitdem ich die Änderung von Musicman vorgenommen habe werden die Besucher nicht mehr aufgezählt.
Da Musicman nen eigenen, eingecodeten, Prefix (gothic) verwendet, kann es bei Dir auch nich gehn.
Folgendes wäre zu ändern, damit Profilaufrufe durch nen Gast nicht in die DB geschrieben werden:

Alt
sql_query("INSERT INTO ".$user_prefix."_users_visit (uid, vuid, time) VALUES ('".$uinfo['uid']."', '".$cookie[0]."', '".time()."')");

Neu
if (mxIsUser()) {
 sql_query("INSERT INTO ".$user_prefix."_users_visit (uid, vuid, time) VALUES ('".$uinfo['uid']."', '".$cookie[0]."', '".time()."')");
}


Soll der Seitenaufrufzähler ebenfalls durch Gäste nicht hochgezählt werden, dann bitte so ändern:

Alt
sql_query("UPDATE ".$user_prefix."_users SET user_click=user_click+1 where uname='$uname'");
sql_query("INSERT INTO ".$user_prefix."_users_visit (uid, vuid, time) VALUES ('".$uinfo['uid']."', '".$cookie[0]."', '".time()."')");


Neu
if (mxIsUser()) {
 sql_query("UPDATE ".$user_prefix."_users SET user_click=user_click+1 where uname='$uname'");
 sql_query("INSERT INTO ".$user_prefix."_users_visit (uid, vuid, time) VALUES ('".$uinfo['uid']."', '".$cookie[0]."', '".time()."')");
}


Desweiteren sind die folgenden Zeilen, wie bereits von Dir richtig vermutet, aus dem Ausgabeteil (Schritt 4 aus Anwort #64) zu entfernen:

else{
       echo "<tr valign=\"top\"><td bgcolor=\"$bgcolor3\" width=\"15%\">";
       echo "".VWGetSexusString($sqluser['user_sexus'])." Gast</td><td bgcolor=\"$bgcolor3\">".$visit['time']."</td></tr>\n";
     }


Falls ich mit meiner Antwort für Deinen Fall zu spät bin, so hilft er hoffentlich andern.  ;)
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

JoergK

#92
Zitat von: Energy-drink am 07 April 2005, 08:27:07
So jetzt habe ich das auch mal selber probiert und ich muss sagen die Antwort #64 geht ohne probleme!!! Erstmal Respekt!!!  ;D

Danke , danke ... aber der Hauptdank sollte NeMeSiSX2LC gelten, denn der eigentliche Code stammt schliesslich von ihm. Ich hatte mich nur irgendwann mal aufgerafft, nachdem ich ihn bei uns erfolgreich implementiert hatte und hier einige nach einer "Einbauanleitung" fragten, diese halt zu posten.  ;)

Zitat von: Energy-drink am 07 April 2005, 08:27:07
Das einzige was ich vielleicht ändern würde wäre wohl die Reloadsperre oder IPSperre.
So wie ich das jetzt rauslese wird jeder User nur alle 24 Stunden einmal angezeigt wenn er die selbe IP hat.
Wechselt die IP wird er auch öfters angezeigt.

Kann ich diese IP Sperre irgendwie rausnehmen oder verkürzen?? ich denke mal das 20 - 30 Minunten reichen würden...

Wer weiß was ich verändern muss am Code bei Antwort #64-

Fast richtig erkannt ;)
Die Sperre gilt für den restlichen Tag, sprich bis 23:59:59 Uhr, d.h. nen Profilaufruf durch einen User wird pro Tag nur einmal erfasst.

Wenn Du die Zeit z.B. auf 30 Minuten reduzieren willst, änder einfach folgendes:

Alt
setcookie("Profilaufruf".$uname."","Profilaufruf",time()+$time);

Neu
setcookie("Profilaufruf".$uname."","Profilaufruf",time()+1800);

Für ne Stunde einfach 3600 statt 1800 einsetzen - ergo einfach die Zeit in Sekunden angeben  ;)

Wer die Cookiesperre ganz weg haben will, ändert den Code wie folgt:

Alt
if(!empty($_COOKIE["Profilaufruf".$uname.""])) {
  echo"";
}else {
  $cookie = mxGetUserSession();
  if ($cookie[1] != $uname) {
    $deltime = time() - 60*60*24*2;
    sql_query("DELETE FROM ".$user_prefix."_users_visit WHERE time < '$deltime'");
    sql_query("UPDATE ".$user_prefix."_users SET user_click=user_click+1 where uname='$uname'");
    sql_query("INSERT INTO ".$user_prefix."_users_visit (uid, vuid, time) VALUES ('".$uinfo['uid']."', '".$cookie[0]."', '".time()."')");
  }
  setcookie("Profilaufruf".$uname."","Profilaufruf",time()+$time);


Neu
  $cookie = mxGetUserSession();
  if ($cookie[1] != $uname) {
    $deltime = time() - 60*60*24*2;
    sql_query("DELETE FROM ".$user_prefix."_users_visit WHERE time < '$deltime'");
    sql_query("UPDATE ".$user_prefix."_users SET user_click=user_click+1 where uname='$uname'");
    sql_query("INSERT INTO ".$user_prefix."_users_visit (uid, vuid, time) VALUES ('".$uinfo['uid']."', '".$cookie[0]."', '".time()."')");
  }


Ich hoffe, es hat gehelft  ;)
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

JoergK

Zitat von: gecealem am 07 April 2005, 18:33:14
...ich hätte gerne das über der seite angezeigt wird,wer sich zuletzt das profil angeschaut hat,wenn mann als user eingeloggt ist;)

muss doch so ähnlich laufen....wo müsste es eingebaut werden und wie würde es aussehen?

Bau den Ausgabeteil (Schritt 4 aus Antwort #64) "einfach" zwischen

   OpenTable();
   echo "<center>";
   echo "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"$bgcolor1\">\n";
   echo"<tr><td valign=\"top\">";
   #### Beginn Informationen ober Tabelle links #######


und

   echo "<table border=\"0\" cellspacing=\"1\" cellpadding=\"3\" bgcolor=\"$bgcolor1\" width=\"100%\">\n";
   echo "<tr valign=\"top\"><td bgcolor=\"$bgcolor2\" width=\"35%\"><b>"._NICKNAME.":</b></td><td bgcolor=\"$bgcolor3\" valign=\"top\">\n";
   echo "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>\n";
   echo "<td valign=\"top\"><b>".mxPrepareToDisplay($uname)."</b></td>\n";
   echo "<td>&nbsp;&nbsp;&nbsp;&nbsp;".$online."</td>\n";
   echo "</tr></table></td></tr>\n";
   if (!empty($lastonline)) echo "<tr valign=\"top\"><td bgcolor=\"$bgcolor2\"><b>"._YA_LASTONLINE.":</b></td><td bgcolor=\"$bgcolor3\">".$lastonline."</td></tr>\n";


ein.
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

JoergK

Zitat von: smartmusic am 14 April 2005, 11:20:12
ich möchte nicht die letzten besucher im profil angezeigt haben sondern über der seite und nur der letzte besucher.

wo muss ich dann den code einbauen?

"Einbauort" siehe vorherigen Antwort.
Und wenns nur der letzte Besucher sein soll, änder einfach folgendes:

Alt
$visituser = sql_query("SELECT uid, vuid, time FROM ".$user_prefix."_users_visit WHERE uid=".$uinfo['uid']." ORDER BY time DESC LIMIT 10");

Neu
$visituser = sql_query("SELECT uid, vuid, time FROM ".$user_prefix."_users_visit WHERE uid=".$uinfo['uid']." ORDER BY time DESC LIMIT 1");

Sprich, einfach das LIMIT in der DB-Abfrage auf die Anzahl ändern, die angezeigt werden soll.
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

Liu-Kang

Hm... ich muß den Thread nochmal ausgraben.
Einige User haben sich bei mir beschwert, daß zwar jetzt nur die Mitglieder angezeigt werden, dafür aber auch sie selber wenn sie auf ihren eigenen Account gehen.
Sprich: Es sollen nur die Mitglieder angezeigt werden die den Account besuchen und nicht auch das Mitglied, dem der Account gehört.
Viele Grüße

JoergK

Zitat von: Liu-Kang am 04 Juni 2005, 17:10:10
Einige User haben sich bei mir beschwert, daß zwar jetzt nur die Mitglieder angezeigt werden, dafür aber auch sie selber wenn sie auf ihren eigenen Account gehen.
Sprich: Es sollen nur die Mitglieder angezeigt werden die den Account besuchen und nicht auch das Mitglied, dem der Account gehört.

Hmmm... eigentlich sollte genau das

   $cookie = mxGetUserSession();
   if ($cookie[1] != $uname) {
       ...
   }

dafür sorgen, dass Ausrufe des eigenen Profils nicht mitgezählt und angezeigt werden.
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

Liu-Kang

Hm... irgendwie will das nicht so recht hinhauen. Anscheinend mache ich da irgendetwas falsch.
Kann ich Dir meine mx_userfunctions_options.php mal zusenden?

NeMeSiSX2LC

Ok der Ideen Gründen Meldet sich auch mal. ;) Zeig mir mal den code da hupt was rum das sicher ;)
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Liu-Kang

OK, hier mal ein bisschen Code mit noch ein bisschen drumherum ;)!
OpenTable();
echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"3\" bgcolor=\"$bgcolor1\" style=\"border-width:thin; border-color:$bgcolor2; border-style:double; padding:0px;\">\n";
if (!empty($user_aim))     echo "<tr valign=\"top\"><td bgcolor=\"$bgcolor2\"><b>"._AIM."</b></td><td bgcolor=\"$bgcolor3\">".mxPrepareToDisplay($user_aim)."</td></tr>\n";
if (!empty($user_yim))     echo "<tr valign=\"top\"><td bgcolor=\"$bgcolor2\"><b>"._YIM.":</b></td><td bgcolor=\"$bgcolor3\">".mxPrepareToDisplay($user_yim)."</td></tr>\n";
if (!empty($user_msnm))    echo "<tr valign=\"top\"><td bgcolor=\"$bgcolor2\"><b>"._MSNM.":</b></td><td bgcolor=\"$bgcolor3\">".mxPrepareToDisplay($user_msnm)."</td></tr>\n";
if (!empty($user_skype))    echo "<tr valign=\"top\"><td bgcolor=\"$bgcolor2\"><b>Skype:</b></td><td bgcolor=\"$bgcolor3\">".mxPrepareToDisplay($user_skype)."</td></tr>\n";
echo "</table>";
CloseTable();

if ($istheuser) {
echo "<br>";
OpenTable();
  echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"3\" bgcolor=\"$bgcolor1\">\n";
  $visituser = sql_query("SELECT uid, vuid, time FROM ".$user_prefix."_users_visit WHERE uid=".$uinfo['uid']." ORDER BY time DESC LIMIT 10");
  if ($click[0] != 0){
    echo"<tr valign=\"top\"><td bgcolor=\"$bgcolor2\" width=\"30%\"><b>Die letzten 10 Besucher: *</b></td>\n";
    echo "<td bgcolor=\"$bgcolor3\">&nbsp;</td><td bgcolor=\"$bgcolor3\">&nbsp;</td>\n";
    $cookie = mxGetUserSession();
   if ($cookie[1] != $uname) {
     $deltime = time() - 60*60*24*2;
     sql_query("DELETE FROM ".$user_prefix."_users_visit WHERE time < '$deltime'");
     sql_query("UPDATE ".$user_prefix."_users SET user_click=user_click+1 where uname='$uname'");
     sql_query("INSERT INTO ".$user_prefix."_users_visit (uid, vuid, time) VALUES ('".$uinfo['uid']."', '".$cookie[0]."', '".time()."')");
   }
    while($visit = sql_fetch_array($visituser)){
      $sqluser = sql_fetch_array(sql_query("SELECT * FROM ".$user_prefix."_users WHERE uid=".$visit['vuid'].""));
      $visit['time'] = date ("d.m.Y H:i", $visit['time']);
      if (!empty($sqluser['uname'])){
        echo "<tr valign=\"top\"><td bgcolor=\"$bgcolor3\" width=\"25%\">";
        echo "".VWGetSexusString($sqluser['user_sexus'])."&nbsp;<a href=\"modules.php?name=Userinfo&uname=".$sqluser['uname']."\">".$sqluser['uname']."</a></td>";
        echo "<td bgcolor=\"$bgcolor3\">".$visit['time']."</td></tr>\n";
      }
    }
  }
  }

  echo "</table>";
  CloseTable();
if ($istheuser) {
echo "<br>* "._YA_ONLYYOUSEE."!<br>";
}
echo "</center>";
}

#################################################
function viewuserinfo_option_2($uinfo) {