te falta el action!!
<form method="post" name="form" action="?????">
aunque veo que con el ajax lo haces... emm.. a ver.. puede que mi observacion Nº2 sea el problema.. de todas maneras pruebala inicialmente, y luego verifica la Nº1
1) Cita: $sql_in= mysql_query("SELECT msg,msg_id FROM messages order by msg_id desc");//aca no incluis a dato para que te traiga como resultado
$dato=$r['dato']; // aca llamas a dato desde tu resultado, pero no existe en tu query
en todo caso deberia ser:
$sql_in= mysql_query("SELECT msg_id,msg,dato FROM messages order by msg_id desc");
2)
url: "demo.php",
data: dataString,
cache: false,
success: function(html){
$("ol#update").prepend(html);
$("ol#update li:first").slideDown("slow");
//document.getElementById('dato').value='';...
esta parte del codigo esta comentada, no sera el problema?, probar quitandole las dos // iniciales
document.getElementById('content').value='';
$("#flash").hide();
}
});
despues la verdad ya no se, es decir, no puedo ver otro error