Com'è possibile che non ti funzioni.

Prova il seguente codice:
Codice PHP:
<?php
session_start
(); //"Apro" la sessione...
error_reporting(E_ALL); //Chiedo che siano attivati i "notice" su *tutti* gli errori (è già settata così anche nel "php.ini").

//=== Inizializzo le due variabili in modo che anche se sono vuote non riceva "notice" ===//
$invia = (isset($_POST['invia'])) ? ($_POST['invia']) : '' ;
$insert = (isset($_POST['insert'])) ? ($_POST['insert']) : '' ;

//====  PASSAGGIO N° [2]: Verifica dei dati inseriti ========//
if ($invia) {
    
$name $_SESSION['nome'];
    
$cognome $_SESSION['cognome'];
      echo 
"<html><head><title>[2] == Controlla i dati</title></head>
            <body>
            2).
Ciao, "
.$name." ".$cognome."!

            <form action=\"
$_SERVER[PHP_SELF]\" method=\"POST\">            
            <input type=\"reset\" value=\"Cambia i dati\" onclick=\"javascript:history.back()\">
            <input type=\"submit\" value=\"INSERISCI!\" name=\"insert\">
            </form>
            </body>
            </html>"
;
            }
                
//====  PASSAGGIO N° [3]: STAMPA dei dati inseriti ========//
else if ($insert) {
          echo 
"<html><head><title>[3] == Valori per \"".$name." ".$cognome."\"</title></head>
                <body>
                3).

                Ho inserito i dati \"[b]"
.$name." ".$cognome."[/b]\" nel DB!
                </body>
                </html>"
;
                }
else {
//====  PASSAGGIO N° [1]: Inserimento dei dati  ========//
echo "<html><head><title>[1] == Inserisci i dati</title></head>
        <body>
        1).
<form action=\"
$_SERVER[PHP_SELF]\" method=\"POST\">
        Nome: <input name=\"nome\" size=\"30\">

        Cognome: <input name=\"cognome\" size=\"30\">

        <input type=\"reset\" value=\"CiòripenZato...\">
        <input type=\"submit\" value=\"OK\" name=\"invia\">
    </form>
    </body>
    </html>"
;
    }
?>