i campi che gestiscono le date in mysql si aspettano il formato ansi yyyy-mm-dd hh:mm:ss
devi inserire la data con la funzione NOW() di mysql. Se usi un campo datetime ci sara' pure l'orario, con campo frm. DATE la sola data.
inserisci con:
INSERT INTO post (autore, post, data)
VALUES ('$by', '$text', NOW() )";
estrai con:
"SELECT *, date_format(data, '%d/%m/Y') as data
FROM post
il risultato di 0000-00-00 significa che hai inserito una data non valida