Prima non la riconosceva poichè facevi un concatenamento inutile.
Tu devi stampare nell'header il contenuto della variabile, presupponendo che:

Codice PHP:
// base
header('Location:pagina.php?id=valore');
// per rendere il valore una variabile devo fare
header('Location:pagina.php?id='.$valore.''); 
Header ha bisogno di apertura con apice e chiusura con apice, per questo spezzo con '' ed uso un doppio concatenamento '.$valore.' in questo modo gestisce la parte prima come stringa e mi accoda il contenuto della variabile $valore.

La spiegazione potrebbe non essere esaustiva, in questi casi prova a cercare su internet e/o attendi risposta di gente con spiegazioni più corrette.