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

    passare da $_POST['nome_valore'] a $nome_valore

    Vorrei utilizzare un ciclo foreach all'inizio dello script che mi permetta di cambiare il nome delle variabili estratte da moduli in modo da poterle richiamare non così $_POST['nome_della_variabile'] ma così $nome_della_variabile.
    Ho provato questo:
    foreach ($_POST As $nome_valore => $valore) {
    $nome_valore = $_POST[$nome_valore];
    }
    ma non funziona.

  2. #2

  3. #3
    Codice PHP:

    foreach($_POST as $key => $value) {

    $key1 $value;
    echo 
    "$key contiene $key1 
    "
    ;


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    Il codice di piero.mac sembra corretto. Non ci avevo pensato, comunque l'ho provato e purtroppo non funziona.
    Perchè filippo.toso dici che è una pessima idea?
    Io lo devo usare perchè metto mano ad un codice che hanno sviluppato altri, ed hanno richiamato tutte le variabili di $_POST senza inserire l'array ma solo il nome della variabile. Prima dicono che funzionava ma io l'ho provato ed i campi non vengono richiamati restando vuoti.
    Se per ogni variabile ritocco $nome_variabile in $_POST['nome_variabile'] funziona, ma cercavo un procedimento più veloce. Purtroppo stranamente anche il codice di piero.mac sembra non funzionare.

  5. #5
    Perchè filippo.toso dici che è una pessima idea?
    Puoi trovare una spiegazione dettagliata nel manuale ufficiale:

    http://www.php.net/register_globals

  6. #6
    A distanza di parecchio tempo ho ritrovato la soluzione proposta dal manuale.
    Non si tratta di utilizzare register_globals settato ad on, ma di utilizzare una funzione praticamente uguale a quella indicata da piero.mac, la quale non mi funzionava perchè c'è una $ in meno. Sul manuale è così:

    Codice PHP:
    /* per passare da $_POST['key'] a $key: */
    foreach($_POST as $key => $value) {
              $
    $key $value;

    A me serviva tempo fa proprio per adattare un codice che era stato scritto richiamando tutte le variabili in $_POST solo con il nome $key, con il favore di register_global settato ad on. Alla fine, dovendolo adattare a funzionare con register_global settato ad off, mi sono riscritto tutte le variabili come $_POST['key'], ma la soluzione più veloce sarebbe stata inserire questa funzione prima del loro utilizzo.

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.