Guarda questo semplice esempio, segui i commenti...



Prima pagina (pag1.php) Inizio del modulo con alcuni dati da inserire

Codice PHP:
<?php
session_start
();

if(isset(
$_POST['submit'])) {
  
//esegui tutti i controlli del caso sui dati inviati e, se tutto è
  //andato a buon fine, registri in sessione i valori interessati.
  
$_SESSION['nome'] = $_POST['nome'];
  
$_SESSION['cognome'] = $_POST['cognome'];

  
//dopo l'elaborazione dati, vai alla pagina successiva.
  
header('Location: pag2.php');  

} else {
  
//se non sono stati inviati i dati stampi il form. (il value dei campi è stato
  //valorizzato la rispettiva sessione per evitare di dover riscrivere
  //di nuovo i dati, nel caso l'utente dovesse tornare indietro
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input tyep="text" name="nome" value="<?php echo isset($_SESSION['nome']) ? $_SESSION['nome'] : ''?>" />
<input tyep="text" name="cognome" value="<?php echo isset($_SESSION['cognome']) ? $_SESSION['cognome'] : ''?>" />
<input type="submit" name="submit" value="Esegui" />
</form>
<?php
}
?>

Seconda pagina (pag2.php) Prosieguo de modulo con altri dati da inserire

Codice PHP:
<?php
session_start
();

if(isset(
$_POST['submit'])) {
  
//esegui tutti i controlli del caso sui dati inviati e, se tutto è
  //andato a buon fine, registri in sessione i valori interessati.
  
$_SESSION['occupazione'] = $_POST['occupazione'];
  
$_SESSION['interessi'] = $_POST['interessi'];

  
//dopo l'elaborazione dati, vai alla pagina successiva.
  
header('Location: pag3.php');  

} else {
  
//se non sono stati inviati i dati stampi il form. (il value dei campi è stato
  //valorizzato la rispettiva sessione per evitare di dover riscrivere
  //di nuovo i dati, nel caso l'utente dovesse tornare indietro
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input tyep="text" name="occupazione" value="<?php echo isset($_SESSION['occupazione']) ? $_SESSION['occupazione'] : ''?>" />
<input tyep="text" name="interessi" value="<?php echo isset($_SESSION['interessi']) ? $_SESSION['interessi'] : ''?>" />
<input type="submit" name="submit" value="Esegui" />
</form>
<?php
}
?>

Terza pagina (pag3.php) Riepilogo dei dati inseriti

Codice PHP:

<?php
session_start
();

if(isset(
$_SESSION['nome']) && isset($_SESSION['cognome']) && isset($_SESSION['occupazione'])) {
  
//controlli se le variabili di sessione conteneti i dati
  //sono state definite e in caso positivo stampi il riepilogo
  
echo "Riepilogo dati - Nome: {$_SESSION['nome']} Cognome: {$_SESSION['cognome']}";
  
//altri dati... poi esegui la query al database in base alle tue necessità...
}
else {
  
//altrimenti ritorni alla pagina inziale
  
header('Location: pag1.php');
}
?>
Questa è solo una delle possibili soluzioni. Ovviamente dovrai aggiungere i dovuti controlli sui dati inviati, durante i vari inserimenti e prima di eseguire la query. Non è un cosa impossibile, basta solo iniziare a fare dei tentativi nella direzione giusta...