v2.5.2
Giriş yap

Php'de checkbox kayıt işleminde sorun

yazilimyolcusu
135 defa görüntülendi

Arkadaşlar bir yerde takıldım. Form ile veritabanına veri kaydetmek istiyorum. Form'daki input'ların tipleri
:"text", 'checkbox' vs. karışık elementler. "text" olanları kaydedebiliyorum ama checkbox'ları kaydetmek istediğimde, en son checkbox'ın "value" su kaydoluyor. Yalnız kaydetmek istediğim checkbox'ların sayısı 1'den fazla. Farz edelim ki 3 adet kayıt etmek istiyorum. Kodları kısaltarak yazıyorum aşağıya.

<form action="x.php">
    <input class="x-text" type="text" name="ad" placeholder="Ad" ><br>    
    <input class="x-checkbox" type="checkbox" name="ozellikler[]" value="Veri 1" placeholder="Veri 1" ><br>
    <input class="x-checkbox" type="checkbox" name="ozellikler[]" value="Veri 2" placeholder="Veri 2" ><br>
    <input class="x-checkbox" type="checkbox" name="ozellikler[]" value="Veri 3" placeholder="Veri 3" ><br>
</form>
    $ad = $_POST['ad'];
    $ozellikler = $_POST['ozellikler'];
    
foreach($ozellikler as $ozellik) {
    $query = "INSERT INTO ekle (ekle_ad, ekle_ozellik) 
    VALUES ('$ad', '$ozellik', '$ozellik', '$ozellik')";
              }
yazilimyolcusu
67 gün önce

Şimdi şu aşamadayım. Checkbox'ların name'lerine "ozellikler[]" şeklinde değer verdiğimde kayıt yapabiliyorum. Tek bir store'a da kayıt yapabiliyorum, birden çok store'a da yapıyorum. Diyelim ki sadece bir tek store'a kayıt yapacağım. Ve store'un içinde kayıt şu şekilde oluyor.
veri 1,veri2,veri3
şeklinde oluyor. Ben bu verileri listeletirken ilk veriyi bir div içinde, diğer veriyi başka bir div içinde listeletmem lazım. Yani form'da 100 adet checkbox verisi var. Kullanıcı hangisini işaretlediyse o veri, veritabanına kayıt olacak ve ben bu her bir veriyi ayrı satırlarda listeletmem lazım.
Eğer checkbox'ların name'lerine "ozellikler[]" şeklinde değil de "veri1", "veri2" diye farklı bir değer verdiğimde ise işaretlenmeyen veriler "insert" ün "values" alanında olduğu ve boş kaldığı için hata veriyor.