Profilaufrufzähler

Begonnen von taranis, 27 Mai 2004, 22:12:40

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Musicman75

Ich habe den ganzen code jetzt mal in der options eingefügt - es wird aber weder gezählt noch angezeigt.
das datenbankfeld habe ich angelegt.

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!

NeMeSiSX2LC

Music in wechsel option? gibt ja zwei von der Sorte :)
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

Musicman75

userfunction_options.php ist doch die richtige, oder?
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

OK! Ich habs jetzt!
Zuerst muß das Datenbankfeld wie folgt per phpMyAdmin (oder was anderem) eingerichtet werden:
ALTER TABLE `mx_users` ADD `user_click` BIGINT( 20 ) DEFAULT '0' NOT NULL;

Anschließend wird in die Datei mx_userfunctions_options.php folgendes in der Function function viewuserinfo_option_1($uinfo) nach extract($uinfo); eingefügt:
ob_start();
   $time = 12*60*60;
   if(!empty($_COOKIE['Profilaufruf'])) {
       
echo"";
   }
   else {
    if (!$istheuser) {
$cookie = mxGetUserSession();
if ($cookie[1] != $uname) {
sql_query("UPDATE ".$user_prefix."_users SET user_click=user_click+1 where uname='$uname'");
}
}
      setcookie("Profilaufruf","Profilaufruf",time()+$time);
   }


Nun kommt noch die Anzeige.
Die wird wie folgt aufgerufen:
echo"<tr valign=\"top\"><td bgcolor=\"$bgcolor2\"><b> <b>Profilaufrufe:</b></td><td bgcolor=\"$bgcolor3\">".$user_click."</td></tr>\n";

Das sollte es gewesen sein.
Viel Erfolg ;)!

Liu-Kang

Was mir allerdings gerade auffällt... das Ding aktualisiert nicht immer.
Ich habe jetzt mit drei Browsern ein paarmal aktualisiert (F5) aber manchmal bleibt er einfach stehen.
Erst wenn ich länger mit einer aktualisierung warte, geht die Anzahl hoch.
Kann man das irgendwie anders einstellen? Ich kenne mich da mit dieser Zeitrechung nicht so aus.

Homicide

so ganz scheint das nicht zu stimmen.
eingebaut und mal 2 profile aufgerufen.
im ersten Profil wurde mein Besuch gezählt,
im 2. Profil nicht da bleibt der Zähler auf 0


NeMeSiSX2LC

Jupps liegt daran das bei der variable $time 12*60*60 steht der aufruf wird also nur alle 24 std gezählt
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

NeMeSiSX2LC

Stümmt versuchts mal hier mit

$cookie = mxGetUserSession();
if(!empty($_COOKIE["Profilaufruf".$uinfo['uname'].""]) || $cookie[0] == $uinfo['uid']) {

echo"";

}elseif (mxIsUser()) {

if ($cookie[0] != $uinfo['uid']) {
sql_query("UPDATE ".$user_prefix."_users SET user_click=user_click+1 where uname='".$uinfo['uname']."'");

}

setcookie("Profilaufruf".$uinfo['uname']."","Profilaufruf",time()+$time);

}


Bitte nach Feld gucken ob das bei euch genauso heisst
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

Homicide

so passt es :)
ich finde die Zeit von 24h angebracht, wozu soll der Zähler unnötig hochgetrieben werden.
da machen sich die meisten dannm eh nur nen Spass draus und die Funktion wäre umsonst.

Liu-Kang

Öhm... also muß ich das hier:
ob_start();
   $time = 12*60*60;
   if(!empty($_COOKIE['Profilaufruf'])) {
       
echo"";
   }
   else {
    if (!$istheuser) {
$cookie = mxGetUserSession();
if ($cookie[1] != $uname) {
sql_query("UPDATE ".$user_prefix."_users SET user_click=user_click+1 where uname='$uname'");
}
}
      setcookie("Profilaufruf","Profilaufruf",time()+$time);
   }


durch das hier:
$cookie = mxGetUserSession();
if(!empty($_COOKIE["Profilaufruf".$uinfo['uname'].""]) || $cookie[0] == $uinfo['uid']) {

echo"";

}elseif (mxIsUser()) {

if ($cookie[0] != $uinfo['uid']) {
sql_query("UPDATE ".$user_prefix."_users SET user_click=user_click+1 where uname='".$uinfo['uname']."'");

}

setcookie("Profilaufruf".$uinfo['uname']."","Profilaufruf",time()+$time);

}


ersetzen?

NeMeSiSX2LC


   $time = 12*60*60;
$cookie = mxGetUserSession();
if(!empty($_COOKIE["Profilaufruf".$uinfo['uname'].""]) || $cookie[0] == $uinfo['uid']) {

echo"";

}elseif (mxIsUser()) {

if ($cookie[0] != $uinfo['uid']) {
sql_query("UPDATE ".$user_prefix."_users SET user_click=user_click+1 where uname='".$uinfo['uname']."'");

}

setcookie("Profilaufruf".$uinfo['uname']."","Profilaufruf",time()+$time);

}


so müsste es ersetzt werden
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

Martin

Mal ein kleiner Vorschlag an die Admins...

Wie oben angesprochen wurde, ist es extrem zeitaufwendig, hier im Forum nach irgendwelchen Modifikationen zu suchen, da die meisten Threads am Ende zu keiner Lösung kommen.

Ihr könntet doch solch schöne Sachen wie die Lösung hier in ein extra Forum packen, wo nur die Lösung ohne die ganze Vorgeschichte veröffentlicht wird. So würdet ihr schnell eine super Sammlung in Form kurzer Tutorials haben und die User müssten nicht ewig suchen...

Musicman75

ich versuche jetzt gerade schon wieder das einzusetzten aber es wird bei mir nicht mal die tabelle angezeigt im userprofil.

irgendwie bin ich zu blöde dafür
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!

Musicman75

Ok, es hat geklappt - bei mir läuft das noch über die view.php

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!

cmz

tuningcar.de's Fehler liegt in dem, dass die variable $user_prefix im sql_query nicht definiert ist.

Hab ihm das mal korrigiert  ;)

NeMeSiSX2LC

Zitat von: cmz am 07 Januar 2005, 20:48:31
tuningcar.de's Fehler liegt in dem, dass die variable $user_prefix im sql_query nicht definiert ist.

Hab ihm das mal korrigiert ;)

Japps steht standardmässig nicht in den globals mit drin ;)
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