Pagina 1 di 30 1 2 3 11 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 294
  1. #1
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568

    [PILLOLA] Nuove variabili in php

    Nelle versioni di php dopo la 4.1.0 sono state inserite nuove variabili che andranno a sostituire i vecchi array.
    le nuove sono:

    codice:
    $_SERVER al posto di $HTTP_SERVER_VARS
    $_GET al posto di $HTTP_GET_VARS
    $_POST al posto di $HTTP_POST_VARS
    $_COOKIE al posto di $HTTP_COOKIE_VARS
    $_FILES al posto di $HTTP_POST_FILES
    $_ENV al posto di $HTTP_ENV_VARS
    $_REQUEST (non ha equivalenti nelle vecchie versioni)
    $_SESSION[] per $HTTP_SESSION_VARS[]
    il funzionamento è molto simile ai vecchi array, quindi se in uno script fate riferimento alle variabili in input con gli appositi array non dovrete far altro che cambiare i nomi.
    Decisamente diverso invece se per riferirvi alle variabili in input usavate il nome della variabile e non il suo array (es. $var invece di $HTTP_GET_VARS[var]). Questo perchè nelle versioni dalla 4.2.0 in poi per default il php.ini contiente questa riga
    codice:
    register_globals = 'Off'
    mentre in quelle precedenti la riga era scritta per default così
    codice:
    register_globals = 'On'
    E' consigliabile mantenere la riga su Off, ma è sempre possibile impostarla su On (anche se ciò è deprecato)

    Un'altra novità che può tornare utile è il fatto che queste variabili sono automaticamente globali:
    se in una funzione inserivate
    Codice PHP:
    global $HTTP_GET_VARS
    per rendere le variabili get visibili, ora tutto ciò non sarà necessario.

    Un ultimo consiglio...
    in questo momento di transizione è consigliabile scrivere gli script riferendosi alle variabili con i nuovi array ed inserire in cima allo script righe di questo tipo:
    Codice PHP:
    if(!isset($_GET)) $_GET $HTTP_GET_VARS
    (ovviamente una per ogni array usato )

    Spero di non essermi dilungato troppo..

    chris

    Importante
    per mantenere la compatibilità php 4.0.x con tutte le versioni successive (php 4.1.x e php 4.2.x) avevo consigliato di aggiungere in cima allo script una riga del genere:
    if(!isset($_GET)) $_GET = $HTTP_GET_VARS;

    ho letto invece su una mailing list che in effetti qualche utente malizioso potrebbe richiamare la pagina con pagina.php?_GET['var']=53
    e $_GET sarebbe settato.

    la soluzione proposta è questa:
    if(!isset($_SERVER) OR !$_SERVER OR !is_array($_SERVER) OR count(array_diff($_SERVER, $HTTP_SERVER_VARS))){
    $_GET = &$HTTP_GET_VARS;
    $_POST = &$HTTP_POST_VARS;
    $_SERVER = &$HTTP_SERVER_VARS;
    $_ENV = &$HTTP_ENV_VARS;
    $_COOKIE = &$HTTP_COOKIE_VARS;
    $_FILES = &$HTTP_POST_FILES;
    $_SESSION = &$HTTP_SESSION_VARS;
    }

  2. #2

    YaAh!

    :metallica :sexpulp: :metallica :sexpulp:
    Kla! :sexpulp:
    www.avisgarda.it
    Cover per il tuo cellulare Nokia 3310 o 3330? vinenimi a trovare!!!
    www.funnycover.too.it
    (progetto in collaborazione con la scuola)

  3. #3
    molto interessante
    tnx:adhone:

  4. #4
    Bravo!


    mi serviva giusto un po' di chiarezza sugli ultimissimi cambiamenti del PHP.... se ne sentiva parlare, ma sempre in maniera superficiale

    alla fine bastano pochi accorgimenti.. mi sento tranquillizzato

  5. #5
    Utente di HTML.it L'avatar di Webmaster76
    Registrato dal
    Mar 2001
    residenza
    Torino
    Messaggi
    298
    Mi associo ai complimenti! Un' altra pillola veramente utile.

    Bravo Bravo! :metallica

    Un nuovo cms/framework... vuoi collaborare al progetto?

  6. #6
    visto che sei così edotto sull'argomento, dimmi orsù, come mi comporto con le variabili che "appendo" all'indirizzo del file?
    es. file.php?var1=1&var2=2&var3=3....





    ciao
    ratatuia

  7. #7
    Originariamente inviato da Ratatuia
    visto che sei così edotto sull'argomento, dimmi orsù, come mi comporto con le variabili che "appendo" all'indirizzo del file?
    es. file.php?var1=1&var2=2&var3=3....





    ciao
    ratatuia
    Fanno parte dell'array $_GET
    Addio Aldo, amico mio... [03/12/70 - 16/08/03]

  8. #8
    illuminami maggiormente mio sommo gm...

  9. #9
    Originariamente inviato da Ratatuia
    illuminami maggiormente mio sommo gm...
    Mi sa un po' di presa per il c.... cmq...

    per recuperare le variabili appese all'URL, usi l'array $_GET, ossia, nel tuo esempio:

    $_GET["var1"]
    $_GET["var2"]
    $_GET["var3"]
    Addio Aldo, amico mio... [03/12/70 - 16/08/03]

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    mattè ma stasera tieni l'ispirazione poetica?

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.