Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Variabili dinamiche

  1. #1

    Variabili dinamiche

    Buongiorno a tutti !

    Ho un problema con un form generato dinamicamente per la gestione di pagine associate a un menu e sottomenu in cui dovrei utilizzare delle variabili dinamiche.

    Il problema e' che genero le select dinamicamente e nel form ci sono piu' select (solo una pero' passera' il valore), le distinguo una dall'altra assegnando l'id del valore che recupero nel ciclo while, e mi si generano delle select cosi':

    codice:
    <select id="variabile1" name="variabile1">
    <option>Prova</option>
    <option>Prova 2</option>
    <option>Prova 3</option>
    </select>
    
    <select id="variabile2" name="variabile2">
    <option>Prova</option>
    <option>Prova 2</option>
    </select>
    
    <select id="variabile3" name="variabile3">
    <option>Prova</option>
    <option>Prova 2</option>
    <option>Prova 3</option>
    <option>Prova 4</option>
    </select>
    Nella pagina dove recupero i dati, cerco di recuperare i dati con:

    Codice PHP:

    $variabile
    = (isset($_POST['variabile'])) ? $_POST['variabile'] : ""
    Ovviamente non me li recupera perche' in realta' io passo il valore variabile1, variabile2, variabile3 ecc..ecc...

    E' possibile assegnare un nome variabile alla variabile (scusate il gioco di parole) oppure modificare il nome della variabile quando recupero il dato, tipo che so, tipo utilizzare strpos o qualcosa del genere ?

    grazie a tutti e ciao !

  2. #2
    molto semplice, se $variabile vale "variabile1" allora puoi recuperare il valore di $variabile1 scrivendo

    $$variabile

  3. #3
    Quote Originariamente inviata da piesse78 Visualizza il messaggio
    molto semplice, se $variabile vale "variabile1" allora puoi recuperare il valore di $variabile1 scrivendo

    $$variabile
    Ciao

    ho provato a fare cosi' nella parte dove recupera i dati:

    codice:
    $$variabile = (isset($_POST['variabile'])) ? $_POST['variabile'] : "";
    Poi ho provato a vedere il risultato:

    codice:
    echo "$variabile";
    Ma nulla, nessun risultato.

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Con $_POST['...'] recuperi il value del campo del form (non l'id o altro), cosa che tu non hai assegnato ai vari option, quindi non viene valorizzato.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    192
    Non è variabile dinamica ma tra valori.
    Come menzionato da Alhazred puoi inviare solo se esiste il valore del name SELECT e il valore della tua OPTION.
    Poiché sono dati da fonte esterna almeno filtrare tra ciò che desidera il programmatore? Wow lista bianca che bello ^.^
    Codice PHP:
    $zero 0;
    $variabile NULL;
    unset(
    $variabile);
    if(isset(
    $_POST['variabile1'])) {
    $variabile 'variabile1';
    } elseif(isset(
    $_POST['variabile2'])) {
    $variabile 'variabile2';
    } elseif(isset(
    $_POST['variabile3'])) {
    $variabile 'variabile3';
    }
    if(isset(
    $_POST[$variabile])) {
    $nuova_variabile $_POST[$variabile];
    $zero 1;
    var_dump($nuova_variabile);

    Vedi in questo esempio il quarto if è ridondante, i tre precedenti coprono le possibili scelte della tua SELECT e non puoi creare una variabile dinamica ma il dato da cercare è comunque fisso tramite isset. Discorso diverso se devi cercare un valore fisso (anche il nome di una variabile) ma è una variabile dinamica.
    Ultima modifica di darbula; 13-01-2023 a 21:16

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.