1) post è intrinsecamente più sicuro di get, ma se vuoi maggiore sicurezza l'unica è utilizzare una connessione sicura

2) http://forum.html.it/forum/showthrea...postid=3654149

3) $PHP_SELF è una variabile d'ambiente che indica il nome della pagina corrente, inserire questa variabile nell'action di una form significa far processare il form alla stessa pagina. Puoi verificare se il form è stato inviato o no con una condizione del genere
if( isset($_POST['submit']) ) { // form inviato

dove $_POST['submit'] è il nome che dai al pulsante Invia della form

per inteso, i form possono essere processati in molti modi, questo è uno di quelli