Tambien las varaibles de servidor han de ser "superglobales" accediendolas por $_SERVER:
Código PHP:
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
Tienes que tener bien presente de donde llegan tus variables externas a tu script .. si es un URL (link) es método GET .. si es un formulario será GET o POST según defina su "method" .. si son varaibles de servidor .. $_SERVER .. etc .. etc ...
Un saludo,