Immagino che ci sia un errore sul controllo iniziale, controlli due volte che sia settata $_SESSION['pass'], mentre penso che una delle due sia $_SESSION['user']

Se un form ha l'attributo action puntato alla pagina in cui si trova, specificare l'attributo action diventa superfluo.

La parte in php viene eseguita fintanto che la richiesta viene elaborata dal server, dunque quel codice in php nella parte javascript non viene eseguito al click sul pulsante. Per eseguire codice lato server allo scatenarsi di eventi lato client occorre utilizzare ajax.

Tuttavia cambiando un pò il tuo codice puoi fare tutto quanto, senza ajax.

Codice PHP:

<?php
session_start
();
if (!isset(
$_SESSION['pass']) && !isset($_SESSION['user']))
{
    echo 
"<h1 align=center>Devi fare il login <a href=index.php>qui</a></h1>";
}
else
{
                
$successo 0;
                
//qui ti gestisci le varie variabili pervenute $_POST dal form, e farai l'update al db se l'update avrà successo allora qui setterai a 1 la variabile flag $successo

        
include ("connect.php");
        
$query="SELECT * FROM ese080707 WHERE Nome='".$_SESSION['user']."'";
        
$ris=mysql_query($query);
        
$riga=mysql_fetch_row($ris);
        echo 
"<fieldset>";
        echo 
"<form name=myForm method=post>";
        echo 
"<h2>Benvenuto $riga[0]</h2>
"
;
        echo 
"Cognome: <input type=text name=cog value=$riga[1]>
"
;
        echo 
"Professione: <input type=text name=pro value=$riga[3]>
"
;
        echo 
"Data di nascita: <input type=text name=data value=$riga[4]>
"
;
        echo 
"Password: <input type=password name=pass1 value=$riga[2]>
"
;
        echo 
"Password: <input type=password name=pass2 value=$riga[2]>

"
;?>
        Le due password devono essere uguali.

        
        

        
        </form>
                <button onClick=testhis()>aggiorna</button>
        <button onClick=location.href="logout.php">logout</button>
                <?php 
        
if ($successo==1)
        {
            echo 
"<h2>Aggiornamento dati avvenuto</h2>";
        }
        
?>
        </fieldset>
<?php
}
?>

<script type="text/javascript">
function testhis()
{
    cog = document.myForm.cog.value;
    pro = document.myForm.pro.value;
    data = document.myForm.data.value;
    pass1 = document.myForm.pass1.value;
    pass2 = document.myForm.pass2.value;
    if (cog=="" || pro=="" || data=="" || pass1=="" || pass2=="")
    {
        alert("Inserire tutti i campi");
    }
    else if (pass1!=pass2)
    {
        alert("Le 2 password devono coincidere");
    }
    else
    {
        document.myForm.submit();
    }
}

</script>

lascio a te il lavoro in php per trattare le variabili $_POST sarebbe poco consono alla sezione del forum (javascript). Tale parte di codice andrà al posto del commento