Personalmente uso a tappeto le SESSIONI.... nel tuo caso farei:

code:
<?php
session_start();

if(isset($acquistato_da) && isset($donazione_di)){
// se sono entrambi settati
$_SESSION['compila'] = $_POST['compila'];
header("location: insert_2.php");
exit;
}



nella pagina insert2.php

code:
<?php
session_start();

$compila = $_SESSION['compila'];

Se $acquistato_da e $donazione_di provengono da un form probabilmente necessitano anche loro di $_POST.

Se vuoi passare anche queste due info, mettile anche loro in $_SESSION. Anche qui pero' utilizzo brevemente:

$_SESSION = $_POST;

e trasferisco tutto il form ricevuto da POST nella nuova pagina...

Vedi tu se ti serve...

ti rispondo qui perche forse è più appropiato,
si, con le sessioni va ma io preferirei conoscere come far passare il contenuto della variabili tramite header, perche è possibile farlo ma nn capisco come.

non è che sai come si fa?