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

Discussione: problema checkbox

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433

    problema checkbox

    ciao

    in una pagina ho una checkbox

    <input type="checkbox" name="mano" value="1">

    nel momento in cui spedisco il form

    se la casella viene selezionata funziona tutto ok ma se invece non la seleziono mi compare questo errore

    Notice: Undefined index: mano in f:\programmi\easyphp1-8\www\ord2\pf\inspepf.php on line 51


    ha cosa è dovuto??? :master:

    nb: la pagina dove recupero il valore (con $mano=$_POST['mano'] è la stessa in cui ho il form (praticamente richiama sè stessa)

    help
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    29
    La soluzione è piuttosti semplice, non ti preoccupare. Se postavi un pò di codice te lo spiegavo meglio...
    Quando ricarichi la pagina, la variabile mano non esiste e quindi non puoi lasciare $mano = $_POST['mano'] perché $_POST['mano'] non è definita! (credo che tu abbia fatto qualcosa di simile, giusto?).
    Quindi il tutto si risolve inserendo questa riga di codice all'interno di un if (che dovresti già avere, penso...) che controlla se il form è stato inviato oppure no!

    Cmq la prox vlta è meglio se posti un pò di codice...

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    29
    ops... scusa se ho scritto due volte la stessa frase.... Non me ne ero accorta :stordita

  4. #4

    Re: problema checkbox

    Originariamente inviato da Urbanus
    se la casella viene selezionata funziona tutto ok ma se invece non la seleziono mi compare questo errore

    Notice: Undefined index: mano in f:\programmi\easyphp1-8\www\ord2\pf\inspepf.php on line 51


    ha cosa è dovuto??? :master:
    al fatto che i checkbox, quando non selezionati, non vengono inviati dal browser e quindi non avrai la corrispondente variabile nell'array $_POST.

    Gestendo i checkbox devi quindi tenere presente questo fatto e effettuare gli opportuni controlli.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433
    strano!!!

    il fatto è che questi controlli sono accompagnati da circa una 15na di campi testo e radioB.
    una volta che invio i dati li ritrovo tutti (inseriti e non) solo per il check mi da questo problema...
    Codice PHP:
    ....
    ....
    <
    input type="text" name="cod" maxlength="9" size="8" value="">
    <
    input type="text" name="ass" maxlength="9" size="8" value="">
    <
    input type="checkbox" name="mano" value="1">
    ....
    e per il recupero.... (il codice è prima dei campi form)
    ....
    $cod=$_POST['cod'];
    $ass=$_POST['ass'];
    $mano=$_POST['mano'];
    .... 
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

  6. #6
    Originariamente inviato da Urbanus
    strano!!!

    il fatto è che questi controlli sono accompagnati da circa una 15na di campi testo e radioB.
    una volta che invio i dati li ritrovo tutti (inseriti e non) solo per il check mi da questo problema...
    Come ti ho scritto, il browser non invia i checkbox non selezionati.
    Non è strano, funziona così, basta saperlo.

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    I checkbox li devi gestire come un array. Esempio:

    Rosso<input type="checkbox" name="colore[]" value="rosso">

    Verde<input type="checkbox" name="colore[]" value="verde">

    Giallo<input type="checkbox" name="colore[]" value="giallo">


    if (isset($_POST['colore']))
    {
    $colori_preferiti = $_POST['colore'];
    foreach($colori_preferiti as $valore)
    echo $valore. "
    ";
    }
    else
    {
    echo "Devi scegliere almeno un colore";
    }

  8. #8
    Originariamente inviato da nicola75ss
    I checkbox li devi gestire come un array.
    non è mica obbligatorio

    se mi serve un solo valore (opzione scelta o non scelta) è inutile usare un array.

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da skidx
    non è mica obbligatorio

    se mi serve un solo valore (opzione scelta o non scelta) è inutile usare un array.
    Si,hai ragione skidx. Avevo dato per scontato (sbagliando) che il problema suo fosse recuperare i valori nel caso fossero consentite scelte multiple.

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433
    Come ti ho scritto, il browser non invia i checkbox non selezionati.
    capito! anche se con una ver. precedente di php (stesso IE) non ho mai avuto questo problema... :master:


    comunque per risolvere dovrei verificarne ogni volta l' esistenza ??? (solo per questi 3 campi perche' gli altri compresi i RadioBut. funzionano )

    grazie
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

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.