Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Creare automaticamente variabili da $_GET / $_POST esistenti

    Buongiorno,

    alcuni vecchi siti su cui mi sono trovato a lavorare, ospitati su server con una versione di PHP piuttosto vecchia (se non ricordo male la 5.2) avevano una "configurazione" particolare che creava in automatico delle variabili con lo stesso nome di quelle presenti nell'array $_GET o $_POST, esempio:

    se esisteva $_GET[pippo] creava in automatico $pippo,
    se esisteva $_POST[pluto] creava in automatico $pluto,
    ecc..

    Il provider ha deciso di aggiornare la versione di php del server su cui sono ospitati i miei siti e con l'aggiornamento del PHP questa "configurazione" viene a mancare, i siti quindi sono pieni di errori la maggiorparte dei quali per variabili inesistenti.

    Esiste un modo per rimediare a questa problematica?

    Vi ringrazio in anticipo per l'aiuto

    Grazie

    Yuri Franco

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Si trattava della direttiva register_globals, è stata deprecata per vari motivi, tra cui problemi di sicurezza, non si può più usare.
    Devi aggiornare i siti usando i relativi $_POST e $_GET dove ora ci sono le variabili globali.

    Ricorda, per i $_POST e $_GET, ma per gli array in generale, è buona pratica racchiudere i nomi delle chiavi tra apici, quindi $_POST['pippo'] e non $_POST[pippo], quest'ultima funziona, ma non è il modo corretto di procedere, potrebbe non funzionare sempre o per sempre.
    Ultima modifica di Alhazred; 11-01-2016 a 12:27

  3. #3
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    puoi usare la funzione extract

    extract($_GET);
    extract($_POST);

    ma lato sicurezza non credo sia il massimo. Forse è meglio fare come dice Alhazred ed "aggiornare" il codice

  4. #4
    Ok grazie mille a entrambi per i consigli.

    Saluti

Tag per questa discussione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.