Den eigenen Profilaufruf nicht in der Datenbank speichern

Tomas1967

Mitglied
Hallo,

ich habe ein Problem! Ich habe so eine Anzeige auf der Seite, die mir die letzten 5 Besucher eines Profils anzeigt. Das blöde ist nur, dass auch etwas in die Datenbank geschrieben wird, wenn ich mein eigenes Profil aufrufe.

Lässt sich das irgendwie blockieren?

Hier der Code -

Code:
if($aSessiondata['nUsrId']) {
	$eUserdataId = $aSessiondata['nUsrId'];
$eNameUser = htmlspecialchars($aUserdata['sNameUser']);

 $visit_time = time();
 $sql01      = mysql_query ("SELECT timestamp FROM lastvisit WHERE user='$eNameUser' AND profile='$nId' ORDER by timestamp DESC");
 while( $row01 = mysql_fetch_array( $sql01) ) 
 $ts_exist = $row01["timestamp"];
 if ( $ts_exist ) 
   {
 $sql02    ="UPDATE lastvisit SET timestamp='$visit_time' WHERE user='$eNameUser' AND profile='$nId'";
 mysql_query($sql02); 
   }
   else
 if($aSessiondata['nUsrId']) 
   {
 $sql03    ="INSERT INTO lastvisit (user,profile,nUsrId,timestamp) VALUES ('$eNameUser','$nId','$eUserdataId','$visit_time')";
 mysql_query($sql03); 
   }

}

In der Datenbank steht es so -

user profile nUsrId timestamp
Admin 7 1 1200745910
Admin 1 1 1200745905
Admin 8 1 1200745900
Thomas 8 3 1200745883
Thomas 3 3 1200745595 // das soll nicht rein (mein eigenes Profil)

user = der User
profile = das Profil wurde vom User besucht
nUsrId = die ID von dem User

Wie musss ich machen, damit mein eigener Profilaufruf nicht in die Datenbank geschrieben wird?
 
Wenn ich deine Datenbank richtig verstehe, würde es reichen, wenn du $nId und $eUserdataId abgleichst, oder?
 
Es reicht vor dem Einfügen eines neuen Datensatzes zu prüfen, ob $nId und $eUserdataId identisch sind. Ist dies der Fall, betrachtet jemand sein eigenes Profil und ein neuer Datensatz ist nicht nötig.
 
Also so -

Code:
if($nId == $eUserdataId) {
echo"Der eigene Profilaufruf ist gesperrt und es wird nichts in die Datenbank geschrieben: ";
} else {.....

Danke für den Tipp! Oder flasch gedacht?
 
Zurück