Visualizzazione dei risultati da 1 a 2 su 2

Discussione: problema con checkbox

  1. #1

    problema con checkbox

    ciao a tutti
    sono un principiante, sto seguendo un corso di php e mi trovo un ostacolo
    che non so come superare. Nel libro c'è un semplice esercizio: realizzare
    una pagina html che dialoga con una pagina php per la prenotazione di
    servizi alberghieri. La pagina html è la seguente:

    <html>
    <body bgcolor="#FFFFCC">
    Nella vostra camera desiderate:


    <form action="ud07.php" method="post">
    <input type="checkbox" name="cd" value="doccia / vasca da bagno"
    checked>Doccia o Vasca


    <input type="checkbox" name="cm" value="vista sul mare">Vista mare


    <input type="checkbox" name="cc" value="cassaforte">Cassaforte


    <input type="submit">
    <input type="reset">
    </form>
    </body>
    </html>

    la pagina php (ud07.php) è la seguente:

    <html>
    <body bgcolor="#FFFFCC">
    <?
    echo "Grazie per la vostra richiesta, prenotiamo per voi:

    ";
    if ($cd)
    echo "camera con $cd, sovrapprezzo ? 10/giorno

    ";
    if ($cm)
    echo "camera con $cm, sovrapprezzo ? 15/giorno

    ";
    if ($cc)
    echo "camera con $cc, sovrapprezzo ? 3/giorno

    ";
    ?>
    </body>
    </html>

    Il problema è che se seleziono tutte e tre le checkbox mi risponde
    correttamente:

    Grazie per la vostra richiesta, prenotiamo per voi:
    camera con doccia / vasca da bagno, sovrapprezzo ? 10/giorno

    camera con vista sul mare, sovrapprezzo ? 15/giorno

    camera con cassaforte, sovrapprezzo ? 3/giorno

    Se per esempio tralascio di selezionare la checkbox "vista sul mare" mi
    restituisce la pagina php in questo modo:

    Grazie per la vostra richiesta, prenotiamo per voi:

    camera con doccia / vasca da bagno, sovrapprezzo ? 10/giorno

    Notice: Undefined variable: cm in c:\inetpub\wwwroot\ud\ud07.php on line 7
    camera con cassaforte, sovrapprezzo ? 3/giorno

    dove la line 7 corrisponde alla variabile: "if ($cm)" della vista sul mare

    Praticamente succede per ogni checkbox non selezionata. Come si può evitare
    di mostrare quell'errore?

    lavoro con mysql 4.0.21 e php 4.3.9

    grazie mille

  2. #2
    Ciao,
    per verificare che la checkbox sia stata checcata devi fare un controllo del tipo if(isset($_POST['nomecheckbox'])){ etc, etc}
    http://www.beavermag.it

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.