[PHP] Come mantenere selezionato checkbox dopo aver cliccato submit

samurai.sette

Utente Attivo
17 Dic 2015
235
6
18
Ciao a tutti. Come da titolo della discussione mi sono posto una domanda.
Ipotizzando di avere su una pagina php alcuni checkbox ed un submit, come faccio a mantenere i ckeckbox selezionati dopo aver cliccato il bottone submit? Secondo voi è possibile?
Ciao, grazie mille a tutti.
 
Ciao Macus_adi, grazie mille per la risposta.
Mi potresti fare un banalissimo esempio?
Grazie mille, ciao.
 
Ciao Macus_adi. Grazie per l'aiuto ma ancora non va... :(
Io ho provato questo banalissimo codice:
PHP:
<html>
    <head></head>
    <body>
        <form method="post">
            <input type="checkbox" name="check" value="Scelta1" <?php echo (isset($_COOKIE['ckc']))?'checked':''?> /> Scelta1
            <input type="checkbox" name="check" value="Scelta2" <?php echo (isset($_COOKIE['ckc']))?'checked':''?> /> Scelta2
            <input type="checkbox" name="check" value="Scelta3" <?php echo (isset($_COOKIE['ckc']))?'checked':''?> /> Scelta3
            <input type="checkbox" name="check" value="Scelta4" <?php echo (isset($_COOKIE['ckc']))?'checked':''?> /> Scelta4
            <input type="submit" name="ok" value="Fai la tua scelta" />
        </form>
        <?php
            if (isset ($_POST['ok']))
            {
                echo $_POST['check'];
            }
        ?>
    </body>
</html>
Se effettuo una scelta e clicco sul submit il checkbox si deseleziona ancora.
Dov'è che sbaglio?
Ciao e scusa se ti disturbo per questa cosa (che per molti di voi è una banalità).
 
Dov'è che sbaglio?
QUI:
<input type="checkbox" name="check" value="Scelta1" <?php echo (isset($_COOKIE['ckc']))?'checked':''?> /> Scelta1
<input type="checkbox" name="check" value="Scelta2" <?php echo (isset($_COOKIE['ckc']))?'checked':''?> /> Scelta2
<input type="checkbox" name="check" value="Scelta3" <?php echo (isset($_COOKIE['ckc']))?'checked':''?> /> Scelta3
<input type="checkbox" name="check" value="Scelta4" <?php echo (isset($_COOKIE['ckc']))?'checked':''?> /> Scelta4

Devi verificare la variabile con un valore, sopra era solo un banalissimo esempio!
 
ma ancora non va
nel tuo codice ci sono 2 errori,
1 ) usi lo stesso "name" per tutti i checkbox, quindi non li distingui
2) usi $_COOKIE come variabile per il passaggio dei valori ma nel tuo esempio non la gestisci, ma ti appoggi a $_POST
quindi, pensando tu stia usando $_POST, il codice diventa
PHP:
<html>
    <head></head>
    <body>
        <form method="post">
            <input type="checkbox" name="check1" value="Scelta1" <?php echo (isset($_POST['check1']))?'checked':''?> /> Scelta1
            <input type="checkbox" name="check2" value="Scelta2" <?php echo (isset($_POST['check2']))?'checked':''?> /> Scelta2
            <input type="checkbox" name="check3" value="Scelta3" <?php echo (isset($_POST['check3']))?'checked':''?> /> Scelta3
            <input type="checkbox" name="check4" value="Scelta4" <?php echo (isset($_POST['check4']))?'checked':''?> /> Scelta4
            <input type="submit" name="ok" value="Fai la tua scelta" />
        </form>
    </body>
</html>
ma nei casi più complessi potresti aver bisogno di $_COOKIES o $_SESSION come ti é stato suggerito
 
Ciao ragazzi, scusate se riapro questa discussione ma mi sono posto una domanda.
Nella discussione iniziale inserivo i checkbox tramite HTML.
Ma se i checkbox li devo inserire tramite PHP cosa cambia?
Esempio:
PHP:
<?php
for ($i = 0; $i <= 4; $i ++)
{
    echo '<input type="checkbox" name="test[]" value="'.$i.'" />' . $i . "<br />";
}
?>
In questo caso, anche utilizzando sessione o cookie, come dovrei fare?
Scusate se porgo domande stupide ma devo ancora imparare tanto...
Ciao, grazie mille
 

Discussioni simili