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

    PHP - Option select in form che deve reimpostarsi al valore che aveva prima della verifica.

    Ciao a tutti, ho un codice del genere (parziale, ovvio):

    echo "<tr><td>Hai intenzione di fermarti alla nostra succulenta cena? (*):</td>";
    echo "<td colspan=\"2\">";
    echo "<select name=\"cena\">";
    echo "<option value=\"no\">No, grazie!</option>";
    echo "<option value=\"veg\">Si grazie, preferisco una cena vegetariana!</option>";
    echo "<option value=\"si\">Si grazie, mangio tutto senza problemi!</option>";
    echo "</select>";
    echo "</td></tr>";

    Nella select non ho impostato nessuna opzione di default perchè il campo è obbligatorio.
    Quando invio il form richiamo la stessa pagina che valida i dati e se è tutto ok scrive su tabella mysql.
    In caso di campo vuoto (nel form che contiene questa select ci sono vari altri campi) mi scrive l'errore e mi ripropone il form. Se un campo era pieno lo reimposta pieno (e funziona), ma se nella select avevo impostato un valore diverso dal primo mi rimette comunque il primo valore.
    Come faccio a dire all'html della select di impostare il suo valore all'ultimo impostato?
    Prima di riscrivere i campi faccio un isset($_REQUEST["cena"]) e me lo stampa a schermo valorizzato giusto, ma nell'html sella select dove e come vado ad inserire quel valore per dirgli di assumerlo come valore da visualizzare?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova così
    Codice PHP:
    if($_REQUEST["cena"]=="veg"){echo "<option value=\"veg\" selected=\"selected\">Si grazie, preferisco una cena vegetariana!</option>";}else{echo "<option value=\"veg\">Si grazie, preferisco una cena vegetariana!</option>";} 
    Ripetendolo per tutte le option

    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Grazie Andrea, avevo pensato ad una soluzione del genere, fare una if/else a tre e generare l'html all'uopo, ma speravo in una soluzione più 'avanti', ossia senza mettermi a fare queste scorciatoie, ma credo che l'html non me lo permetterà.
    Se qualcuno ha altre idee si faccia avanti prego!

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    208
    Se stai lavorando con un php procedurale, non credo che hai molte soluzioni migliori.

    Se invece stai lavorando per classi, il discorso cambia sensibilmente.

  5. #5
    Non so cosa significhi lavorare per classi.
    Per la prima soluzione, Korenaar, dici che non ho MOLTE soluzioni migliori; me ne indicheresti almeno un paio per favore? Comunque grazie.

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.