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

    problema con la select dei form HTML

    Ciao a tutti,

    Ho un problema con la select dei form HTML... ecco uno stralcio del codice in PHP che sto utilizzando:

    print("<form action=\"cerca_voli.php\" method=\"post\">");
    <fieldset>
    <legend>Scegli le città di partenza e di destinazione e la data e l'ora della partenza.</legend>
    Da quale citt&agrave; vuoi partire?
    ");
    $query = "SELECT DISTINCT partenza FROM volo ORDER BY partenza";
    $result = mysql_query($query,$db) or die("Impossibile leggere le città di partenza!");
    print("<select name=\"cpartenza\" style=\"width:200px\">");
    print("<option></option>");
    while($riga = mysql_fetch_array($result))
    print("<option value=". $riga["partenza"] .">". $riga["partenza"] ."</option>");
    print("</select>");
    print("In quale citt&agrave; vuoi arrivare?
    ");
    $query = "SELECT DISTINCT arrivo FROM volo ORDER BY arrivo";
    $result = mysql_query($query,$db) or die("Impossibile leggere le città di arrivo!");
    print("<select name=\"carrivo\" style=\"width:200px\">");
    print("<option></option>");
    while($riga = mysql_fetch_array($result))
    print("<option value=". $riga["arrivo"] .">". $riga["arrivo"] ."</option>");
    print("</select>");


    <input type=\"submit\" value=\"Invia i dati\"/><input type=\"reset\" value=\"Cancella i dati\"/></p>");
    print("</form>");

    nel file cerca_voli.php utilizzo le informazioni che invio con il submit con questo codice:

    if(isset($_POST["cpartenza"]) && isset($_POST["carrivo"]))
    {
    $pcitta = trim($_POST["cpartenza"]);
    $acitta = trim($_POST["carrivo"]);
    ........................

    il problema che mi si presenta è il seguente:

    nella select del form seleziono come partenza "Roma Fiumicino" e come arrivo "Cagliari Elmas", dati estratti dal database che vengono mostrati correttamente nel form, ma quando li invio al file cerca_voli.php e provo a stamparli trovo solo "Roma" e "Cagliari".

    Dove sbaglio?

    Grazie!

    Samantha

  2. #2
    Utente di HTML.it L'avatar di M4rko
    Registrato dal
    Dec 2000
    Messaggi
    619
    Nell'attributo value dei vari <option> devi mettere le virgolette (è anche una questione di correttezza di xhtml, ma nel tuo caso è piu importante il fatto che senza virgolette viene passata solo la prima parola, fino allo spazio)

    quindi ad esempio:
    while($riga = mysql_fetch_array($result))
    print("<option value=". $riga["partenza"] .">". $riga["partenza"] ."</option>");

    diventa:
    codice:
    while ($riga = mysql_fetch_array($result)) {
        print("<option value=\"". $riga["partenza"] ."\">". $riga["partenza"] ."</option>");
    }
    (lo stesso per entrambi i cicli)

    Tutti hanno bisogno di credere in qualcosa.
    Io credo che mi farò un'altra birra.


  3. #3
    Ho risolto grazie alla tua soluzione, M4rko.

    grazie 1000!


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.