- Home
- Categorie
- Coding e Sistemistica
- PHP
- Controllo checkbox non selezionata
-
Controllo checkbox non selezionata
Ciao a tutti,
ho creato un semplice form HTML dove all'interno vengono generate delle righe dinamicamente.
Per ogni riga viene associata una checkbox.Quando il form viene inviato con apposito pulsante di salvataggio riesco tranquillamente a leggere le checkbox selezionate.
Ma come faccio a leggere quelle deselezionate??Eccovi il codice HTML/PHP generato dinamicamente con un ciclo FOR:
echo "<input type='checkbox' name='pubblicata[]' value='$id_richiesta'";/>
...e questo è il codice PHP incaricato di leggere le righe selezionate:
if (isset($_POST['pubblicata'])) { foreach($_POST['pubblicata'] AS $id_richiesta) { ....quì eseguo il mio script! } }
Questo script leggere solo le checkbox selezionate. Come faccio a leggere quelle non selezionate?
Qualche suggerimento? Grazie!
-
Dovresti postare un pò di codice in più perchè mi sfugge il senso del discorso.
Se una checkbox è selezionata ha un detminato valore ma se non lo è che valore ha ?
-
Se posto altro codice non farò altro che confondervi le idee. Quello che ho messo è sufficiente
Se una checkbox non è selezionata non ha alcun valore. Infatti il codice if (isset($_POST['pubblicata'])) non lo prende neanche in considerazione.Qualcuno che ha già affrontato questo problema può aiutarmi per favore?
-
Dunque.
Quando invii una form, quale che sia il campo (testo, password, checkbox, ecc) ciò che puoi recuperare è solamente la coppia NomaCampo=>Valore
accedendo solamente al suo valore.Esempi
[php]<input type="text" name="username">
echo $_POST['username']; // Stampa Aragonesse se l'ho messo<input type="checkbox" name="pubblicata" value="true">
echo $_POST['pubblicata']; // Stampa true se seleziono la checkbox[/php]
Ora, il tuo codice è perfetto così com'è. Prima controlli se è settato una valore che è sempre settato dato che un array di checkbox
può contenere anche 1000 controlli 999 dei quali deselezionati ma ne basta uno perchè la condizione sia vera e faccia partire il foreach che
del resto fa esattamente ciò per cui tu, o chi per te, l'ha scritto; non c'è niente di sbagliato ne niente da correggere.Il contrario di questo discorso è che se non metto uno username o se su 1000 checkbox ne deseleziono 1000 gli echo mi ritornano
un errore di indice non definito e per quella sessione, fino al ricaricamento della pagina, tali variabili non esistono in nessun scope
quindi non sono utilizzabili, gestibili, individuabili in nessun modo, per nessuno scopo o motivo senza un punto d'appoggio.Ergo:
-
Dicci cosa vuoi fare perchè così stai chiedendo una cosa inutile oltre che impossibile senza sapere com'è strutturato il tuo codice e
quindi se eventualmente ci sono punti d'appoggio intermedi sui quali operare altri controlli e scremare quelle valorizzate da quelle
non valorizzate; anche se poi mi è oscuro cosa tu possa fartene di un qualcosa che non esiste se non essere a conoscenza di questo
fatto. -
Spiegati un pò meglio.
Ciao
-
-
Niente da fare, ho risolto sostituendo il tutto con un pulsante "radio". Grazie comunque!
-
@Protone86 said:
Niente da fare, ho risolto sostituendo il tutto con un pulsante "radio". Grazie comunque!
Di niente ...