Originariamente inviato da fermat
che io sappia il PHP non controlla comportamenti del genere.
è lato client tramite JS e derivati che si fanno queste cose.
leggendo quello che hai postato purtroppo non mi viene in mente nulla.
Siccome è questo codice che crea i box, dovrebbe essere questo che interferisce col textarea

Se io sostituisco textarea con input, il box non salta, ma il form non mostra più il textarea

Codice PHP:
<input name="messaggioS" id="txtScrivimi1-S" cols="0" rows="0" onkeyup="contaS(this); messaggioCampoS(); parolaNoS()" onblur="messaggioCampoS(); parolaNoS(); this.value=this.value.replace(/[\s]*/,'')"><?php echo($_SESSION['messaggioS'])?>
Il problema mi sembra si trova nel box della data (dataBox) che forse entra in conflitto con ($testi[0] quello appena sopra

Codice PHP:
if(file_exists('messaggi.html')){ 
    
$righe_mess file('messaggi.html');//ritorna un array con le righe del file
        
if(is_array($righe_mess)){
            foreach(
$righe_mess as $num_riga => $testo_riga){           
                
$testi=explode("|",$testo_riga);
               if(
$testi[0] !=""){
               
              echo 
"<div class=\"stampaS\">";
              
               echo 
"<div class=\"dataBox\">$testi[0]</div>
"
;
                
                echo 
"<div class=\"campiAltiS\">";
                    
                echo 
"<div class=\"nomeBox\">$testi[1]</div>";  
            
                echo 
"<div class=\"cittaBox\">$testi[2]</div>"
                
                echo 
"<div class=\"mailBox\">$testi[3]</div>"
                
                echo 
"<div class=\"ipBox\">$testi[4]</div>";
                
                echo 
"<div class=\"bandierinaBox\">$testi[5]</div>";
                
                echo 
"</div>"// campiAltiS

                
echo "<div class=\"messaggioBox\">$testi[6]</div>";
                
            echo 
"</div>"// stampaS
                 
}
            }
        }
    }