Visualizzazione dei risultati da 1 a 7 su 7

Discussione: radio button vuoti

  1. #1

    radio button vuoti

    Ciao.
    Sto lavorando per creare un semplice questionario online con risposte multiple (una sola selezionabile), le risposte sono date tramite radiobutton.
    In certi casi l'utente può lasciare via certe risposte ma, quando lo fa, il sistema mi da un'errore sugli if (se è falso non dovrebbe passare diretto all'else ?).

    Codice PHP:
    for ($v 0$v 4$v++) {
            if (
    $_POST['r' $v] == 1) {
                
    $v1 $v1 1;
                
    $valori[$v] = $valori[$v] + 1;
            } elseif (
    $_POST['r' $v] == 2) {
                
    $v2 $v2 1;
                
    $valori[$v] = $valori[$v] + 2;
            } elseif (
    $_POST['r' $v] == 3) {
                
    $v3 $v3 1;
                
    $valori[$v] = $valori[$v] + 3;
            } elseif (
    $_POST['r' $v] == 4) {
                
    $v4 $v4 1;
                
    $valori[$v] = $valori[$v] + 4;
            } else {
                
    $v0 $v0 1;
                
    $valori[$v] = $valori[$v] + 0;
            }
            
    $questionari[$v] = $questionari[$v] + 1;
            
    $ris[$v] = $valori[$v] / $questionari[$v];
        } 
    Idee su come fare?
    Grazie in anticipo

  2. #2
    Che errore ti da?

  3. #3
    I valori li reinizializzo quando premo un pulsante per salvare i dati.
    Ecco l'errore:
    Notice: Undefined index: r1 in C:\Programmi\EasyPHP-DevServer-13.1VC9\data\localweb\my portable files\questionario\script.php on line 39

    Ho copiato solo 1 volta l'errora, se non rispondo a 1 domanda mi stampa 4 volte l'errore cambiando solo la riga (1 x ogni if presente).
    "r1" è il valore dei radio button.

    I dati li salva comunque ma mi da tremendamente fastidio sapere che il sito contiene del codice non corretto al 100%

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Di sicuro gli da un errore "undefined index" perché se il radio button non è selezionato, il relativo indice nell'array $_POST non viene generato.

    Prima di tutto devi vedere se $_POST['r' . $v] è settato tramite isset(), se lo è passi agli if, altrimenti fai quello che ora c'è nell'else


    EDIT: CVD

  5. #5
    è presente almeno 1 radio button selezionato perchè ho creato una colonna invisibile nella quale ho inserito dei radio button settati di default con value 0
    Scrivo il codice della tabella
    codice:
    <tr>
    <td style="border:1px black solid; border-collapse:collapse;">
    Questa è una prova
    </td>
    <td style="border:1px black solid; border-collapse:collapse;">
    <input name="r1" type="radio" value="1">
    </td>
    <td style="border:1px black solid; border-collapse:collapse;">
    <input name="r1" type="radio" value="2">
    </td>
    <td style="border:1px black solid; border-collapse:collapse;">
    <input name="r1" type="radio" value="3">
    </td>
    <td style="border:1px black solid; border-collapse:collapse;">
    <input name="r1" type="radio" value="4">
    </td>
    <td style="border:1px black solid; border-collapse:collapse; display:none">
    <input name="r1" type="radio" value="0" checked="checked" disabled="true">
    </td>
    </tr>

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Originariamente inviato da bigdada
    è presente almeno 1 radio button selezionato perchè ho creato una colonna invisibile nella quale ho inserito dei radio button settati di default con value 0
    Scrivo il codice della tabella
    codice:
    ...
    <td style="border:1px black solid; border-collapse:collapse; display:none">
    <input name="r1" type="radio" value="0" checked="checked" disabled="true">
    </td>
    </tr>
    Si, ma lo hai anche impostato come disabilitato, quindi il valore non viene inviato.

  7. #7
    Grz

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.