ovvio che ti da errore

$_POST[id];

dovrebbe essere un array di id non puoi utilizzarlo nella query in questo modo
DELETE from preferiti WHERE id='$_POST[id]'

poi se l'id identifica univocamente la riga del database non ha senso fare anche
AND id_user='$_SESSION[id_user]'