register_globals e' una direttiva che, se attivata (On), permette a PHP di registrare tutte le variabili che spedisci in GET e POST in variabili globali con lo stesso nome. Per es., se invii una variabile chiamata "prova" in POST (tramite un form che contiene un campo che si chiama "prova"), nella pagina che riceve i dati da POST potrai accedere al valore della variabile "prova" semplicemente scrivendo: $prova. Viceversa, se register_globals e' disattivata (come DOVREBBE sempre essere per evitare grossi problemi di sicurezza!), PHP non registra nulla in variabili globali. Pertanto, usando lo stesso esempio di prima, la tua pagina che riceve i dati da POST non potrà accedere al contenuto della variabile "prova" come se fosse una variabile globale, ma dovra' leggerlo dall'array $_POST con la sinstassi: $_POST['prova']. Per i principianti, attivare register_globals e' comodo, ma questa e' una "bad practice" che nessuno dovrebbe seguire. A partire da PHP 4.2, register_globals e' ad Off di default, proprio per evitare problemi di sicurezza negli script. Poi ci sono i casi limite come Aruba che la tengono ad On perche' altrimenti la maggior parte dei siti che ospita non funziona più (essendo basata su script PHP vecchi e scorretti che richiedono che register_globals sia attiva). Che io sappia, register_globals purtroppo non può essere attivata e disattivata a runtime (usando la funzione ini_set()). Se la configurazione del server web Apache dell'hoster lo prevede (ma non tutti lo fanno) e' possibile usare un file .htaccess per modificare il valore di register_globals per il tempo necessario inserendoci questa direttiva: php_flag register_globals on (oppure off, a seconda se vuoi attivarla o disattivarla) Ricapitolando: se il tuo script si appoggia al fatto che register_globals sia attiva (e quindi legge i dati che invii in GET e POST da variabili globali), disattivando quella direttiva lo script non funzionera' piu'. Viceversa, se il tuo script legge le variabili inviate dagli array superglobali $_GET e $_POST, esso funzionera' sempre, indipendentemente dall'impostazione di register_globals.