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

    Aggiornamento codice php

    Allora, problema forse semplice,
    sto passando un sito da un server con la funzione "register_global" ON
    ad uno con "register_global" OFF

    quindi le variabili vanno passate tramite array associativi $_GET e $_POST

    e fin qui tutto bene.

    Essendo il codice abbastanza vecchio, devo per forza aggiornare tutte le varie variabili, o c'è una funzione o un comando che permette il passaggio automatico dall'array (esempio: $ciccio=$_POST['ciccio']; )
    indipendentemente dal nome della variabile?

    Spero di esser stato chiaro, altrimenti cercherò di spiegarmi meglio.

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    e questo presunto programma come dovrebbe fare a sapere che :

    a. $ciccio è una variabile creata da te nel codice
    b. $ciccio è una variabile che arriva da $_GET
    c. $ciccio è una variabile che arriva da $_POST
    d. $ciccio è una variabile che arriva da $_SESSION

    Anche se la cosa è banale, se non hai una profonda conoscienza dell'applicazione questo tipo di cambiamenti può portare la tua applicazione a smettere di funzionare..



  3. #3
    uhm forse hai mal interpretato il mio post,

    La variabile ad esempio arriva da un form, e io vorrei al passaggio successivo, una funzione che recuperi la variabili di questo form (indipendentemente dal nome, ma che comunque arrivano da $_POST), per non stare ad assegnarle una per una.

    La cosa posso farla anche manualmente, ma mi chiedevo se esisteva una cosa del genere per risparmiare tempo.

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    forse non ti ho ancora capito, ma intendi extract()?

    con extract se gli passi un array associativo ti restituisce le variabili, ti faccio un esempio:

    codice:
    $a = array('var1' => 'test', 
                   'var2' => 'prova');
    
    extract($a);
    
    echo $var1; // test
    echo $var2; // prova

  5. #5
    si, qualcosa del genere,
    ovviamente credo non sia possibile assegnare a ogni variabile "estratta" il nome di provenienza (quello assegnato dal form di provenienza), o sbaglio?

    grazie per ora.

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    no, purtroppo no, ma seguendo lo stesso principio potresti aggiungere a ogni form il campo

    <input type="hidden" name="formname" value="quicimettiilnomedelform" />

    poi se usi sempre lo stesso metodo saprai che formname conterrà sempre l'informazione che cerchi.

    Se ti posso dare un consiglio però accedere agli array $_POST $_GET ecc oltre a darti la sicurezza che stai accedendo alle variabili che arrivano in un certo modo ti danno anche chiarezza nel codice, se tu usi il metodo di extract, poi magari ti trovi alla metà di uno script di 1000 righe con la variabile (ad esempio) $record che contiene qualcosa che non ti aspettavi, e tu non sai se questa arriva da $_GET, da $_POST, se è stata modificata all'interno del tuo script (alla fin dei conti $record è un valore molto comune).

    Ho chiuso da poco un lavoro scritto da altri che ho dovuto sistemare, e non hai idea di quante imprecazioni che ho lanciato contro il programmatore che ha seguito una strada simile (se non peggiore, visto che modificava a centro scritp $_GET['cerca'] = 'quelchemipare')

    ciao

  7. #7
    mm ok, allora mi sa che imprecherò anch'io e sistemerò a mano

    grazie di tutto

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.