[PHP] Come mantenere selezionato checkbox dopo aver cliccato submit

samurai.sette

Utente Attivo
17 Dic 2015
228
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.
 

samurai.sette

Utente Attivo
17 Dic 2015
228
6
18
Ciao Macus_adi, grazie mille per la risposta.
Mi potresti fare un banalissimo esempio?
Grazie mille, ciao.
 

macus_adi

Utente Attivo
5 Dic 2017
1.265
82
48
IT/SW
HTML:
<input type="checkbox" name="check" <?php echo (isset($_COOKIE['ckc']))?'checked':''?> />
 

samurai.sette

Utente Attivo
17 Dic 2015
228
6
18
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à).
 

macus_adi

Utente Attivo
5 Dic 2017
1.265
82
48
IT/SW
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!
 

marino51

Utente Attivo
28 Feb 2013
2.904
160
63
Lombardia
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
 

samurai.sette

Utente Attivo
17 Dic 2015
228
6
18
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