Originariamente inviato da oronze
forse ho capito il problema....quando inserisci questo codice in tanti if, stampi qualcosa prima dell'esecuzione di quel pezzo di codice? te lo chiedo perchè, citando il manuale PHP:
Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include(), or require(), functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.
Diciamo che quel frammento di codice lo inserisco dopo altre operazioni... In sequenza:

Un "GET" dell'indirizzo HTML per controllare un ID e un Codice di verifica,
se nel Database viene trovato un campo con quell'id e quel codice l'account viene attivato.
Se non viene trovato viene stampato "Permesso negato".

Lo script poi continua controllando che l'account oltre ad aver inserito codice di verifica e ID corretti sia attivato e che l'indirizzo IP di registrazione corrisponda a quello attuale (questo perchè si tratta solamente di un download, non di una registrazione vera e propria con dei futuri accessi). Se tutti i dati corrispondono viene fatto un:
require_once del file "download" (con intestazione if(__FILE__ == $_SERVER['SCRIPT_FILENAME']) per evitare accessi esterni allo script...)

Facendo così non funziona, se invece avvio semplicemente il file "download" senza l'intestazione il download parte perfettamente...

Qualche consiglio?