Antwort an „Bernd“ verfassen

Guten Morgen,

ich verstehe mal wieder etwas nicht. Und zwar wird ein Wert nicht in die Datenbank eingetragen.

<form method="post"> 
  <ul>
   <label>
   <input 
     type="checkbox" 
     name="bereich[]"
     value="0"
     <?php if (in_array("0", $teile25)): ?>checked<?php endif ?>>
     P1            
   </label>

   <label>
    <input 
     type="checkbox" 
     name="bereich[]"
     value="1"
     <?php if (in_array("1", $teile25)): ?>checked<?php endif ?>>
     P2           
   </label>
                       
 </ul>
 <button type="submit" name="action">Filter anwenden </button> 
</form>
if(isset($_POST['action'])){ 

    $stmt_userBereiche = $mysqli->prepare("DELETE FROM settings WHERE kps_userid=?");
    $stmt_userBereiche->bind_param("s",$object->user_code);
    $stmt_userBereiche->execute();

    if(is_array($_POST["bereich"]) && $_POST["bereich"][0]){
        
            foreach($_POST["bereich"] as $v){
                
            $stmt = $mysqli->prepare("
                    INSERT INTO settings (kps_userid, kps_kalenderid)  VALUES (?, ?)");
                    
                    $kps_userid       = $object->user_code;
                    $kps_kalenderid   = $v;
                    
                    $stmt->bind_param("ss", $kps_userid, $kps_kalenderid);          
                    $stmt->execute();

                    header("Location: $extra");
            }
    }
}

Der Wert mit 1 wird eingetragen, wenn ich nur den ersten wähle also 0 wird nicht eingetragen, wähle ich beide aus, wird ebenfalls nicht eingetragen. Da es mit dem zweiten Wert also der 1 funktioniert gehe ich stark davon aus, es liegt an der 0. Diese benötige ich aber in der Datenbank.

Wenn ich

var_dump($_POST["bereich"]); 

ausgeben lasse, erhalte ich

array(2) { [0]=> string(1) "0" [1]=> string(1) "1" }

also beide Werte sind vorhanden? Was kann ich machen bzw. wo liegt überhaupt das Problem?

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

abbrechen