checkbox in un form

robde

Nuovo Utente
22 Ott 2016
2
0
1
30
ciao ho un dubbio allucinante a cui non riesco a dare risposta
questo è il testo di un esame di programmazione web
non riesco a risolverlo completamente se qualcuno puo aiutarmi la parte che non riesco proprio a risolvere e inserire una checkbox nella tabella con altri attributi e in piu deve essere contenuta in un form. Vi prego aiutatemi

L'applicazione permette l'inserimento, la modifica e la cancellazione di incontri tra squadre. In ciascun incontro sono memorizzate informazioni relative a quali sono le due squadre, alle reti realizzate da ciascuna squadra e delle note testuali gestite tramite una textarea. Non ci possono essere più incontri per la stessa coppia di squadre. Le reti sono interi non negativi. In fase di modifica non è possibile cambiare le squadre ma soltanto reti e note. Usare lo stesso file per generare la pagina HTML per l'inserimento e la modifica di incontri. La cancellazione di incontri è permessa a partire da una pagina di elenco attraverso la seguente modalità: cancellazione multipla di incontri selezionati tramite checkbox. Aggiungere un meccanismo di autenticazione ed autorizzazione utenti. L'inserimento di incontri è permesso solo agli utenti registrati. A ciascun incontro viene associato l'utente che lo ha inserito. Le operazioni di modifica e cancellazione sono permesse solo agli utenti che li hanno creati ed agli utenti con il ruolo di amministratore (quest'ultima informazione è associata al campo 'ruolo' nella tabella 'utente' del database). Quando i controlli non vanno a buon fine vengono mostrati messaggi d'errore appropriati ed i moduli devono mostrare i valori appena inseriti.
 
pensando ad "un" checkbox con più scelte, conviene gestirlo con un'array (a mio parere)

--------------
inizializzo l'array all'inizio della "pagina" (file)
PHP:
for ($i = 0; $i < 10; $i++) $rec['fam'][$i] = "";

--------------
la visualizzo nel form,
gli elementi dell'array possono essere "vuoti" nel caso di nuovo inserimento
oppure contenere le selezioni nel caso di "modifica"
PHP:
for ($i = 0; $i < 10; $i++)
    $ForLeft .= "<input type='checkbox' id='fam[".$i."]' name='OPfam[".$i."]' value='X' ".($rec['fam'][$i] == 'X' ? $CBs : $CBu)." />".fam($i)."<br />";

visto che bisogna gestire più attività nella stessa "pagina",
se sono consentite le modifiche al contenuto del form,
PHP:
$CBs = "checked";
$CBu = "unchecked";

se non sono consentite modifiche, ovvero form in sola visualizzazione (può essere necessaria la sola visualizzazione),
PHP:
$CBs = 'checked onclick="this.checked=true"';
$CBu = 'unchecked onclick="this.checked=false"';

--------------
al "submit" recupero i valori ('X' = checked, ' ' = unchecked)
PHP:
for ($i = 0; $i < 10; $i++) $rec['fam'][$i] = (isset($_POST['OPfam'][$i]) ? "X" : " ");

--------------
controllo che sia presente almeno 1 "checked", ma i controlli sono poi soggettivi
PHP:
$x = array_count_values($rec['fam']); if ( empty($x['X']) ) $errormsg[] = "Devi indicare almeno 1 famiglia";

... it's so simple,
mentre l'esercizio è impegnativo, richiederà una buona dose di tempo
 
grazie della risposta mi ha detto il professore di risolverlo con <input type="checkbox" name="multiplo[]" value="<?= $row1['idI']">
solo non so dove metterlo se nel form e prima e poi non riesco neanche a vedere se l'esercizio va bene ho dei problemi con wamp
 
il prof ti ha dato un'indicazione non precisa (errata ?)
name="multiplo[]" no no
name="multiplo[$contatore]"
vedi il mio esempio, se hai checkbox "checked/unchecked" in modo alterno, restituisce solo i "checked"

poi come tutti gli altri tag anche <input type="checkbox" va compreso tra i tag <form> e </form>
 

Discussioni simili