Usar 'PHP_SELF' te dá el nombre del script que ejecutas .. Si tienes tu código HTML con tu formulario en el mismo "archivo" (script) que ejecutas la parte PHP para su proceso .. dará igual el nombre que le pongas al archivo .. siempre se enviará a si mismo. Sería exactamente igual que poner el nombre del archivo que le des .. ejemplos:
Código PHP:
<?
if (isset($_POST['id']){
// Procesas tu formulario ..
} else {
?>
<form action="nose.php" method="post">
etc...
<input type="text" name="id">
etc ..y tu botón de submit ...
</form>
<?
}
?>
el "nose.php" se podría sustituir por:
Código PHP:
<? echo $_SERVER['PHP_SELF'] ?>
Así no dependes del nombre que le des a este script ..
Pero, para este caso .. te vendría incluso mejor usar empty() .. que decide si está definida una variable y ademas mira que no sea NULL (vacia o cero).
En lugar del isset ...
if (!empty($_POST['id']){
(el ! es "negación" .. si no es .. )
Un saludo,