[PHP] Variabile da multipla Checkbox

bubino8

Utente Attivo
28 Apr 2017
343
19
18
27
BZ
Buonasera,

Ho bisogno di inserire i giorni lavorativi di un dipendente da una checkbox dei giorni della settimana.
A mia modo ho fatto questo ma ogni tanto mi complico la vita più del dovuto per niente.
Premetto che funziona, ma volevo sapere se ci sono altri modi più semplici per fare ciò?

Form:
PHP:
<?php
    $conta = 0;
    echo 'Lun<input type="checkbox" name="giorni'.$conta.'" value="1">';
    $conta++;
    echo 'Mar<input type="checkbox" name="giorni'.$conta.'" value="1">';
    $conta++;
    echo 'Mer<input type="checkbox" name="giorni'.$conta.'" value="1">';
    $conta++;
    echo 'Gio<input type="checkbox" name="giorni'.$conta.'" value="1">';
    $conta++;
    echo 'Ven<input type="checkbox" name="giorni'.$conta.'" value="1">';
    $conta++;
    echo 'Sab<input type="checkbox" name="giorni'.$conta.'" value="1">';
    $conta++;
    echo 'Dom<input type="checkbox" name="giorni'.$conta.'" value="1">';
?>
Recupero nella pagina
PHP:
$nr = 0;
for($r=0; $r < 7; $r++){
        if(isset($_POST['giorni'.$nr])){
            $var[$r] = "1";
        }
        else{
            $var[$r] = "0";
        }
        $nr++;
}
$giornidilavoro = $var[0].",".$var[1].",".$var[2].",".$var[3].",".$var[4].",".$var[5].",".$var[6];


Grazie
Elia
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, in un modo o in un altro l'importante è che funziona :)
PHP:
<?php
$days = array("lun", "mar", "mer", "gio", "ven", "sab", "dom");
if (isset($_POST['invia'])) {
    $gg = array();
    foreach ($days as $key => $value) {
        $gg[] = isset($_POST['giorni'][$key]) ? 1 : 0;
    }
    echo implode(",", $gg);
}
?>
<form method="post">
    <?php
    foreach ($days as $key => $value) {
        echo "$value<input type='checkbox' name='giorni[$key]'/>";
    }
    ?>
    <input type="submit" name="invia"/>
</form>
 

bubino8

Utente Attivo
28 Apr 2017
343
19
18
27
BZ
Ciao,
hehe hai ragione:D, molte volte per fare semplici funzioni mi incasino e scrivo righe inutili e allungo il codice eccessivamente quindi cerco sempre di tenerlo più pulito possibile.

Comunque grazie per la risposta.