se da un file faccio
echo($REMOTE_ADDR);
funziona
se invece da quel file richiamo un altro file con:
function x { echo($REMOTE_ADDR); }
$REMOTE_ADDR risulta vuota.. è normale ?
come posso ovviare al problema ?
se da un file faccio
echo($REMOTE_ADDR);
funziona
se invece da quel file richiamo un altro file con:
function x { echo($REMOTE_ADDR); }
$REMOTE_ADDR risulta vuota.. è normale ?
come posso ovviare al problema ?
Prima di tutto io non userei $REMOTE_ADDR ma invece $_SERVER["REMOTE_ADDR"] e comunque potrebbe essere un problema di visibilità; prova con
function nome
{
global $_SERVER["REMOTE_ADDR"]
....
}
"Le uniche cose che sbagli sono quelle che non provi a fare."
Atipica
$_SERVER["REMOTE_ADDR"] non funziona
con global funziona, grazie![]()
Funziona perché questa è la nuova forma per accedere alle variabili predefinite:
$_SERVER (nel tuo caso specifico) più il nome della variabile predefinita (le puoi vedere con <?php phpinfo(32); ?>) scritto così: $_SERVER['REMOTE_ADDR'];
Questo perché dopo il rilascio della versione 4.2.0 di php, la direttiva register_globals (nel file php.ini) è settata su off. Quindi significa che le variabili relative a cookie, moduli e server non vengono più registrate come variabili globali.
Di conseguenza gli script realizzati prima della versione 4.2.0 non funzioneranno correttamente se non scritti nella nuova forma di accesso alle variabili predefinite, oppure se non si imposta su on la direttiva register_globals nel php.ini
![]()
Usa COMUNQUE $_SERVER["REMOTE_ADDR"] insieme a global.[supersaibal]Originariamente inviato da uMoR
$_SERVER["REMOTE_ADDR"] non funziona
con global funziona, grazie[/supersaibal]
Come dice neida, scoprirai che quando lo metti online con SERVER funzionerà, senza no.
"Le uniche cose che sbagli sono quelle che non provi a fare."
Atipica
l'ho messo online, senza funziona, con no![]()
Allora devi avere un host con una versione assai vecchia di PHP...[supersaibal]Originariamente inviato da uMoR
l'ho messo online, senza funziona, con no[/supersaibal]
Hai provato anche con $HTTP_SERVER_VARS["REMOTE_ADDR"]?
"Le uniche cose che sbagli sono quelle che non provi a fare."
Atipica
$_SERVER è superglobal, non serve l'attributo global.[supersaibal]Originariamente inviato da Shores
Usa COMUNQUE $_SERVER["REMOTE_ADDR"] insieme a global.[/supersaibal]
Già, ma lui dice che con $_SERVER non gli funziona, quindi dovrebbe avere una versione di php più vecchia, che aveva solo $HTTP_SERVER_VARS che se non ricordo male era solo global e non superglobal, o sbaglio?[supersaibal]Originariamente inviato da skidx
$_SERVER è superglobal, non serve l'attributo global. [/supersaibal]
"Le uniche cose che sbagli sono quelle che non provi a fare."
Atipica
non sbagli[supersaibal]Originariamente inviato da Shores
Già, ma lui dice che con $_SERVER non gli funziona, quindi dovrebbe avere una versione di php più vecchia, che aveva solo $HTTP_SERVER_VARS che se non ricordo male era solo global e non superglobal, o sbaglio? [/supersaibal]![]()