veramente if($_POST) ti dice solamente se sono stati inviati dati via post, non dice assolutamente se i dati vengono dalla stessa pagina o meno, anzi è un semplice modo per cadere nell'errore di dare per scontato che se $_POST è valorizzato allora lo sono tutte le variabili che mi aspetto, senza tenere presente che chiunque si può approfittare di questa lacuna
Le variabili $_POST e $_GET devono sempre essere validate attentamente per evitare ogni possibile attacco