Checkbox unsichtbar machen

Zusätzlich sehe ich gerade dass Du den Namen "aktiv" doppelt vergeben hast:
Code:
    <input type='checkbox'    name='aktiv[]' value='1' id="sz_<?php echo $sz_td['id'] ?>"/><label for="sz_<?php echo $sz_td['id'] ?>"><?php echo $sz_td['superzahl'] ?></label>
    <input type="hidden" name="aktiv[]" value="0">
Das wird zu weiteren Komplikationen führen.
 
Zuletzt bearbeitet:
Das verstehe ich zwar jetzt nicht so ganz, aber Ich habe ja 2x den gleichen Namen aber mit verschiedenen Value-Werten. Einmal 1, wenn ich eine Zahl aktivieren will, und einmal ein Input mit 0, um gesetzte Zahlen einzeln wieder auf 0 zusetzen.
Und daher weiß ich nicht, wie das mit der Generierung und dem Index funktioniert
 
Wenn etwas nicht funktioniert und man versteht es nicht, ist es immer angebracht, sich mit Diagnoseausgaben Klarheit zu verschaffen. Ändere mal dein Formular so:
Code:
<form action="lotto.php?sz_aendern" method="post" onSubmit="return check_form();">
<?php
$wochentag = $wochentag = $_GET['wochentag'];
$sql = "SELECT * FROM super_zahlen  WHERE wochentag = '$wochentag'  ";
$i = 0;
foreach ($pdo->query($sql) as $sz_td) {
?>

<td>
    <input type='checkbox'    name='aktiv[]' value='<?php echo $i; ?>' id="sz_<?php echo $sz_td['id'] ?>"/><label for="sz_<?php echo $sz_td['id'] ?>"><?php echo $sz_td['superzahl'] ?></label>
    <input type="hidden" name="aktiv[]" value='hidden<?php echo $i; ?>'>
    <input type="hidden" class="form-control" name="id[]" value="<?php echo $sz_td['id'] ?>">
    <input type="hidden" class="form-control" name="wochentag[]" value="<?php echo $sz_td['wochentag'] ?>">
    <input type="hidden" class="form-control" name="superzahl[]" value="<?php echo $sz_td['superzahl'] ?>">
    <input type="hidden" class="form-control" name="anzahl[]" value="<?php echo $sz_td['anzahl'] ?>">
    <br />
    <button type="submit" class="btn btn-info btn-sm">speichern</button>
</td>
<?php
  $i++;
} ?>
</form>
und lass dir dann die POST-Variablen ausgeben:
Code:
var_dump($_POST);
Wenn Du dir dann das Ergebnis ansiehst, wirst Du klarer sehen.
 
Vielen Dank für Deine Mühe..

Ich habe den Text jetzt übernommen und bekomme als Ergebnis array's, mit denen ich keineswegs "klarer" sehe.
Ich bin darin eben eine absolute NIETE !

array(5) { ["aktiv"]=> array(13) { [0]=> string(1) "0" [1]=> string(7) "hidden0" [2]=> string(7) "hidden1" [3]=> string(1) "2" [4]=> string(7) "hidden2" [5]=> string(1) "3" [6]=> string(7) "hidden3" [7]=> string(7) "hidden4" [8]=> string(7) "hidden5" [9]=> string(7) "hidden6" [10]=> string(7) "hidden7" [11]=> string(7) "hidden8" [12]=> string(7) "hidden9" } ["id"]=> array(10) { [0]=> string(2) "11" [1]=> string(2) "12" [2]=> string(2) "13" [3]=> string(2) "14" [4]=> string(2) "15" [5]=> string(2) "16" [6]=> string(2) "17" [7]=> string(2) "18" [8]=> string(2) "19" [9]=> string(2) "20" } ["wochentag"]=> array(10) { [0]=> string(2) "Mi" [1]=> string(2) "Mi" [2]=> string(2) "Mi" [3]=> string(2) "Mi" [4]=> string(2) "Mi" [5]=> string(2) "Mi" [6]=> string(2) "Mi" [7]=> string(2) "Mi" [8]=> string(2) "Mi" [9]=> string(2) "Mi" } ["superzahl"]=> array(10) { [0]=> string(1) "1" [1]=> string(1) "2" [2]=> string(1) "3" [3]=> string(1) "4" [4]=> string(1) "5" [5]=> string(1) "6" [6]=> string(1) "7" [7]=> string(1) "8" [8]=> string(1) "9" [9]=> string(2) "10" } ["anzahl"]=> array(10) { [0]=> string(2) "26" [1]=> string(2) "29" [2]=> string(2) "30" [3]=> string(2) "36" [4]=> string(2) "32" [5]=> string(2) "36" [6]=> string(2) "37" [7]=> string(2) "25" [8]=> string(2) "30" [9]=> string(2) "28" } }
 
Hi,
Das kann natürlich keiner lesen.
Ich würde Dir empfehlen nicht alle $_POST Vars auf einmal ausgeben zu lassen sondern inklusive key $_POST['wochentag'] ausgeben. Du kannst innerhalb von var_dump auch mittels Zeichenketten-Operator strings dazwischen schreiben. Damit kann man sozusagen auch Labels erstellen:
Var_dump('Wochentag: '.$_POST['wochentag']);

Grüße
 
Sehe ich genau so, das kann keiner lesen. Bei mir sieht das auch anders, übersichtlicher aus, vermutlich weil ich eine andere PHP-Version habe:
Code:
array (size=2)
  'aktiv' => 
    array (size=8)
      0 => string '0' (length=1)
      1 => string 'hidden' (length=6)
      2 => string 'hidden' (length=6)
      3 => string '2' (length=1)
      4 => string 'hidden' (length=6)
      5 => string 'hidden' (length=6)
      6 => string '4' (length=1)
      7 => string 'hidden' (length=6)
  'submit' => string 'Senden' (length=6)
Da sieht man sofort, dass die Checkboxen mit value=1 und value=3 nicht auftauchen, nur die gecheckten 0, 2 und 4.
Mein Testformular:
Code:
    <form action="testpost.php" method="post">
        <input type="checkbox" name="aktiv[]" value="0">
        <input type="hidden" name="aktiv[]" value="hidden">
        <input type="checkbox" name="aktiv[]" value="1">
        <input type="hidden" name="aktiv[]" value="hidden">
        <input type="checkbox" name="aktiv[]" value="2">
        <input type="hidden" name="aktiv[]" value="hidden">
        <input type="checkbox" name="aktiv[]" value="3">
        <input type="hidden" name="aktiv[]" value="hidden">
        <input type="checkbox" name="aktiv[]" value="4">
        <input type="hidden" name="aktiv[]" value="hidden">
        <input type="submit" name="submit">
    </form>
 
Du kannst das var_dump auch in das ändern
Code:
echo "<pre>";
print_r($_POST);
echo "</pre>";
Dann sieht das schon etwas besser aus mit der übersicht
 
Jetzt stehe ich total auf den Schlauch..
Ich glaube, hier liegt irgendwie ein großes Missverständnis vor..
Für aktiv benötige ich doch nur 1, oder 0
1 = aktiv
0 = deaktiv

Ich habe eine Tabelle mit 10 Zahlen
Bildschirmfoto 2020-12-09 um 12.01.17.png
Die blauen Felder sind aktiv, siehe Datenbank-Tabelle

Bildschirmfoto 2020-12-09 um 12.02.57.png

Jetzt möchte ich ich aber die Möglichkeit haben, die blauen aktiven Felderzahlen einzeln zu deaktivieren und die weißen deaktivierten Felderzahlen zu aktivieren.

Daher verstehe ich nicht, wieso in Sempervivum Form die Checkboxen Value's 1,2,3,4 usw haben ?
 
Zurück