Ho modificato il tuo codice in questo modo:

Codice PHP:
<?php
function showform($errore)
{
        echo 
$errore.'
'

?>       
        <form name="input" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
        Username: <input type="text" name="user">

        Password: <input type="password" name="pwd">


        <input type="submit" value="Submit">
        </form>
<?php }

if (isset(
$_POST['user']) or isset($_POST['pwd'])){
   
   if (
$_POST['user']=="")  
       
showform("Campo utente vuoto!!");
   if (
$_POST['pwd']=="")  
       
showform("Campo password vuoto!!");
 
} else {
    
showform("");
}
?>
Perchè se il campo user e pwd sono entrambi vuoti li deve scrivere entrambi:

Campo utente vuoto!!
Campo password vuoto!!

però facendo come ho fatto io si creano due from per l'invio.


Grazie per il tuo aiuto.