Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460

    [php]visibilità variabili $REMOTE_ADDR e simili

    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 ?

  2. #2
    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

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460
    $_SERVER["REMOTE_ADDR"] non funziona

    con global funziona, grazie

  4. #4
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    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


  5. #5
    [supersaibal]Originariamente inviato da uMoR
    $_SERVER["REMOTE_ADDR"] non funziona

    con global funziona, grazie [/supersaibal]
    Usa COMUNQUE $_SERVER["REMOTE_ADDR"] insieme a global.

    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

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460
    l'ho messo online, senza funziona, con no

  7. #7
    [supersaibal]Originariamente inviato da uMoR
    l'ho messo online, senza funziona, con no [/supersaibal]
    Allora devi avere un host con una versione assai vecchia di PHP...

    Hai provato anche con $HTTP_SERVER_VARS["REMOTE_ADDR"]?
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  8. #8
    [supersaibal]Originariamente inviato da Shores
    Usa COMUNQUE $_SERVER["REMOTE_ADDR"] insieme a global.[/supersaibal]
    $_SERVER è superglobal, non serve l'attributo global.

  9. #9
    [supersaibal]Originariamente inviato da skidx
    $_SERVER è superglobal, non serve l'attributo 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?
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  10. #10
    [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]
    non sbagli

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.