Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: controllo checkbox

  1. #1

    controllo checkbox

    Buonasera a tutti, stò cercando di fare un controllo su alcuni checkbox ed ho scritto il seguente codice:
    Html:
    codice:
    <form name="invio" method="post" action="ricevi.php">
    Cibi preferiti:
    
    
    Pizza<input type="checkbox" name="codice1" value="pizza">
    
    
    Pane<input type="checkbox" name="codice2" value="pane">
    
    
    Pasta<input type="checkbox" name="codice3" value="pasta">
    
    
    <input type="submit" value="Invia">
    </form>
    Php:
    codice:
    for($i=1;$i<=3;$i++)
    {
    if (!isset($codice[$i])) {
    echo $_POST["codice$i"];
    echo "
    ";
    } else {
    echo "errore";
    }
    }
    Il problema è che se ad esempio seleziono il primo check e dò invio mi ritrovo la seguente risposta
    codice:
    pizza
    
    Notice: Undefined index: codice2 in e:\my works\easyphp1-8\www\ricevi.php on line 13
    
    
    Notice: Undefined index: codice3 in e:\my works\easyphp1-8\www\ricevi.php on line 13
    Dove sbaglio?grazie mille
    -->MeX23htm<--

  2. #2
    Prova così
    codice:
    for($i = 1; $i <= 3; $i++)
    {
        if (isset($_POST['codice' . $i])) {
    
            echo $_POST['codice' . $i] . '
    ';
    
        } else {
    
            echo 'errore';
    
        }
    }
    Addio Aldo, amico mio... [03/12/70 - 16/08/03]

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Se una checkbox non viene selezionata dall'utente, il server non riceve niente. Per questo $_POST['codice2'] e $_POST['codice3'] non esistono nel tuo caso.

    Il codice di gm ti elimina gli errori. Però non sono sicuro che faccia esattamente quello che ti aspetti tu.

  4. #4
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    io ho provato cosi' e' stampa tutto:
    <?php
    ?>
    <form name="invio" method="post" action="<?=$_SERVER['PHP_SELF']?>">
    Cibi preferiti:


    Pizza<input type="checkbox" name="codice1" value="pizza">


    Pane<input type="checkbox" name="codice2" value="pane">


    Pasta<input type="checkbox" name="codice3" value="pasta">


    <input type="submit" value="Invia">
    </form>
    <?php



    foreach($_POST as $dati) {
    echo $dati."
    ";
    }
    ?>

  5. #5
    Originariamente inviato da luca200
    Però non sono sicuro che faccia esattamente quello che ti aspetti tu.
    In effetti il dubbio è venuto anche a me.

    Cosa deve fare essattamente il tuo codice ?
    Addio Aldo, amico mio... [03/12/70 - 16/08/03]

  6. #6
    Grazie mille ora ho capito dove stava l'errore!
    -->MeX23htm<--

  7. #7
    Volevo arrivare a questo:
    codice:
    $errore = 1;
    for($i=1;$i<=3;$i++)
    {
    	if (isset($_POST["codice$i"])) {
        $errore = 0;
    	#echo $_POST["codice$i"] . '
    ';
        }
    }
    if ($errore == 0){
    echo "Modulo Valido";}
    e funziona!grazie ancora...
    -->MeX23htm<--

  8. #8
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    C'era un modo molto più semplice.
    Dai alle tre caselle lo stesso nome, ad esempio "codice[]" (con le quadre vuote).

    In php basta testare:

    if (! empty($_POST['codice']))
    ...modulo valido

    Naturalmente i valori ti arriveranno in un array
    $_POST['codice'][0]
    $_POST['codice'][1]
    $_POST['codice'][2]

  9. #9
    mi è sorto un dubbio,
    praticamente con il seguente codice vado a stampare i valori dei check selezionati
    codice:
    for($i=0;$i<=8;$i++) {
    if (isset($_POST['pzl'][$i])) echo $_POST['pzl'][$i] . '
    ';}
    però ad ogni checkbox vi è associato anche un campo di testo dove inserire un numero, vorrei che se un check viene spuntato sia stampato il suo valore e il corrispondebte numero, come posso fare?grazie ancora...
    -->MeX23htm<--

  10. #10
    Forse mi sono spiegato male, io ho questo modulo:
    codice:
    <input name="pzl[]" type="checkbox" value="Piazzola generica"><label>Piazzola generica, n°:</label>
    <input name="pzl[]" type="text" size="5" maxlength="2">
    
    <input name="numpzl[]" type="checkbox" value="Piazzola per tenda"><label>Piazzola per tenda, n°:</label>
    <input name="numpzl[]" type="text" size="5" maxlength="2">
    
    <input name="pzl[]" type="checkbox" value="Piazzola per roulotte"><label>Piazzola per roulotte, n°:</label>
    <input name="numpzl[]" type="text" size="5" maxlength="2">
    
    ....
    ....
    ....
    per l'esattezza 9 checkbox+campo
    Ho provato con il seguente codice a stampare a video i checkbox selezionati con il loro campo di testo corretto:
    codice:
    for($i=0;$i<=8;$i++) {if (isset($_POST['pzl'][$i])) echo $_POST['pzl'][$i] . $_POST['numpzl'][$i] . ', ';}
    Ma non funziona in modo corretto.dove sbaglio? grazie
    -->MeX23htm<--

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.