Ciao..

Codice PHP:
<?php      
//Apro la sessione e...      
session_start();      

  
//verifico se esiste la variabile nickname per il voto
if(isset($_GET['nickname']) OR $_GET['nickname'] != ""){
$nicknamevisitato=$_GET['nickname'];
}
   
$nickdichivisita=$_SESSION['nickname'];



//parte relativa alla data e all ora delle visite ricevute da utenti

//mi connetto al database
$link mysql_connect("$db_host""$db_database""$db_username""$db_password") or die("Errore connessione: "mysql_error());    
//seleziono il database    
mysql_select_db('my_italiawebchat') or die("Errore apertura database: " mysql_error());    
//seleziono i campi da visualizzare per singolo utente
$strsql="SELECT id,nickdichivisita1,nickvisitato1,letto,datadellavisita,oradellavisita,data3 FROM visiteutenti

WHERE nickvisitato1='
$nicknamevisitato'

"
;  

$rs=@mysql_query("$strsql",$link) or die("Errore query database: " mysql_error());   
//faccio un ciclo while    
while ($riga mysql_fetch_array($rs)) {    
$str_nickdichivisita $riga['nickdichivisita1'];    
$str_datadellavisita $riga['datadellavisita'];   
$str_oradellavisita $riga['oradellavisita'];    
$haivisitato=$riga['letto'];

}if(
$str_nickdichivisita =$haivisitato)

$queryaggiorna mysql_query("UPDATE visiteutenti SET  nickdichivisita1 = '$nickdichivisita' , nickvisitato1 = '$destinatario', letto = '1', datadellavisita = '$ultimavisita3'

, oradellavisita = '
$ultimavisitaora3', data3 = NOW()

WHERE nickvisitato1='
$nicknamevisitato');

else{
$strsql="INSERT INTO visiteutenti (id,nickdichivisita1,nickvisitato1,letto,datadellavisita,oradellavisita,data3)


VALUES ('','$nickdichivisita','$destinatario','1','$ultimavisita3','$ultimavisitaora3',NOW())";


mysql_query("
$strsql",$link) or die("Errore query database" . mysql_error());

}  ?>

Facendo cosi'...

if($str_nickdichivisita ==$haivisitato)
succede che invece di aggiornare la riga me ne crea un altra ....