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

    form con più select con uguale name="", il $_POST non arriva

    Ciaro ragazzi ho delle select che hanno lo stesso name:

    Codice PHP:
    <select name="provincia" id="province10" style="display:none; margin-left:5px;" class="selectprovincia">
                <
    option value="" selected="selected">Seleziona una provincia</option>
                    <
    option onclick="changecomuni54()" id="provincia54" value="Perugia">Perugia</option>
                    <
    option onclick="changecomuni55()" id="provincia55" value="Terni">Terni</option>

    </
    select>


     <
    select name="provincia" id="province4" style="display:none; margin-left:5px;" class="selectprovincia">
                <
    option value="" selected="selected">Seleziona una provincia</option>
                    <
    option onclick="changecomuni21()" id="provincia21" value="Bolzano">Bolzano</option>

                    <
    option onclick="changecomuni22()" id="provincia22" value="Trento">Trento</option>
    </
    select>

    ETC ETC 
    Ovviamente si scegliere solo una select (le altre a seconda della regione scelta non vengono neanche visualizzate, ma ci sono)

    Nella pagina successiva ovviamente un semplice echo $_POST['provincia'] non visualizza niente visto che è un'array

    Nella pagina chiamata dal form ho inserito questo

    Codice PHP:
    foreach($_POST['provincia'] as $chiave => $valore)
    {
        echo 
    "Provincia " $valore '
    '
    ;

    Ma mi da un'errore Invalid argument supplied for foreach() in C:\.....

    Come mai? non è giusto scorrere l'array?

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    44
    Fai un var_dump($_POST) così guardi cosa contiene l'array.
    S:

  3. #3
    Cavolo....NULL eppure i name delle select e del $_POST sono uguali

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    44
    Scusa ma...

    codice:
     <form method="post" action="tuoscript">
    non lo vedo. Non è che te lo sei dimenticato???

    VVoVe:
    S:

  5. #5
    Ovviamente no...la pagina la chiama, le echo di tutte le altre variabili stampano il giusto contentuto, solo il contenuto della variabile "provincia" è vuoto.

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    44
    Il motivo dovrebbe essere che $_POST['provincia'] prende comunque tutti i valori che gli vengono passati dal FORM e poichè questi valori non sono concatenati, probabilmente $_POST['provincia'] becca una option value="" e prende quel valore.

    Prova a cambiare nome ad una select almeno per vedere se è tutto ok.
    S:

  7. #7
    Risolto: semplicemente il name doveva essere "provincia[]" perchè il php della pagina successiva lo riconoscesse come array....ora infatti il foreach funziona... resta da capire come far stampare solo la coppia chiava/valore "piena" dell'array ^_^

    Grazie comunque

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.