Mmm.. mi pare strano, prova modificando il codice cosi:
Codice PHP:
include 'impostazioni/config.php';
$messaggi = mysql_query("SELECT * FROM chat_messaggi");
while($messaggio = mysql_fetch_array($messaggi)) {
$utenti_online = mysql_fetch_array(mysql_query("SELECT nickname,livello FROM chat_utenti WHERE nickname = '$messaggio[1]'"));
if($messaggio[1] == 'Chat'){ ?>
<div><font class="data">(<?php echo date("H:i:s",$messaggio[4]); ?>)</font> <?php echo $messaggio[3]; ?></div>
<?php }else{
$livello = mysql_query("SELECT nickname,livello FROM chat_admin WHERE nickname = 'Admin'");
$livello2 = mysql_fetch_array($livello);
$arr = explode("@",$messaggio[3]);
if($arr == $_SESSION["nickname"]){ ?>
<div><font class="data">(<?php echo date("H:i:s",$messaggio[4]); ?>)</font>
<font class="livello<?php echo $livello2[2]; ?>"><?php echo $messaggio[1]; ?></font>: <?php echo str_replace($emoticons,$images,preg_replace($pattern,$replacements,$arr[2])); ?></div>
<?php }else{ ?>
<div><font class="data">(<?php echo date("H:i:s",$messaggio[4]); ?>)</font>
<font class="livello<?php echo $livello2[2]; ?>"><?php echo $messaggio[1]; ?></font>: <?php echo str_replace($emoticons,$images,preg_replace($pattern,$replacements,$messaggio[3])); ?></div>
<?php }}} ?>
Se questo non funziona non saprei proprio, anche perché mi pare strano che tutto ciò non funziona, visto che la if si esegue solamente quando $arr[1] e la sessione nickname sono uguali, come effettivamente hai detto di averli te.
EDIT:
Credo di aver capito il problema, credo che il problema sia chè, ti ho fatto scrivere, che i messaggi privati, vengono solo considerati tali ( come messaggi private ) se l'utente entra come admin.
Premetto che il codice era parecchio impicciato, senza offesa naturalmente ( non ci capivo quasi niente ), ma prova a modificare in questo modo:
Codice PHP:
<?php
include 'impostazioni/config.php';
$messaggi = mysql_query("SELECT * FROM chat_messaggi");
while($messaggio = mysql_fetch_array($messaggi)) {
$utenti_online = mysql_fetch_array(mysql_query("SELECT nickname,livello FROM chat_utenti WHERE nickname = '$messaggio[1]'"));
if($messaggio[1] == 'Chat'){
$arr = explode("@",$messaggio[3]);
$nome = $arr[1];
if($arr[1] == $_SESSION["nickname"]){
?>
<div><font class="data">(<?php echo date("H:i:s",$messaggio[4]); ?>)</font> <?php echo $arr[2]; ?></div>
<?php
}else {
?>
<div><font class="data">(<?php echo date("H:i:s",$messaggio[4]); ?>)</font> <?php echo $messaggio[3]; ?></div>
<?php
}
}else {
$livello = mysql_query("SELECT nickname,livello FROM chat_admin WHERE nickname = 'Admin'");
$livello2 = mysql_fetch_array($livello);
if($arr[1] == $_SESSION["nickname"]){
?>
<div><font class="data">(<?php echo date("H:i:s",$messaggio[4]); ?>)</font> <?php echo $arr[2]; ?></div>
<?php
}else {
?>
<div><font class="data">(<?php echo date("H:i:s",$messaggio[4]); ?>)</font> <?php echo $messaggio[3]; ?></div>
<?php
}
}
}
?>