-
Üyelik
04.02.2020
-
Yaş/Cinsiyet
43 / E
-
Meslek
Yazılım...
-
Konum
Diğer
-
Ad Soyad
O** B**
-
Mesajlar
597
-
Beğeniler
154 / 153
-
Ticaret
0, (%0)
Merhaba...
Vaktinizi almadan başlığı kısaca açayım;
Kayıt formunda 1 adet checkbox var.
Seçildiğinde onay sütununu 1 yapıyor.
Seçilmediğinde ise sorguya veri gitmediği için alttaki hata oluşuyor;
"Notice: Undefined index: uye_onay"
ve
Veri tablosunda null olan değer boş hale geliyor.
CHECKBOX SEÇİLMEDİĞİNDE => HATA VERMEMESİNİ + VERİ TABLOSUNDAKİ NULL DEĞERİN BOZULMAMASINI SAĞLAMAK İÇİN NEREYE VE NASIL DOKUNMALIYIZ?
Teşekkürler şimdiden...
Mesaj 1 defa düzenlendi. Son düzenleyen: BEYAZMASTER (26.05.2022 17:54)
ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.
-
Üyelik
04.02.2020
-
Yaş/Cinsiyet
43 / E
-
Meslek
Yazılım...
-
Konum
Diğer
-
Ad Soyad
O** B**
-
Mesajlar
597
-
Beğeniler
154 / 153
-
Ticaret
0, (%0)
bytokca adlı üyeden alıntı
if(isset($_POST["checkbox"])){
$checkboks = intval($_POST["checkbox"]);
} else {
$checkboks = NULL;
}
Üstadım cevap sizden geldi gene, çok teşekkürler...
Siz, @ÖmerGünay @ikodev gibi sayılı bilgili ve bilgisini paylaşma cömertliğine, erdemine sahip az sayıdaki kişi de olmasa bugünlerde bazı çözümlerden mahrum kalırdık...
Forumda çok değerli üyeler, üstadlar vardı sizler gibi ama hiçbiri uğramıyor artık formun güncellenmesinden sonra...
Koda değinecek olursam, mevcut kodum kısaca şöyle;
<?php
if($_POST)
{
try
{
$sorgu = "INSERT INTO ...
...
}
}
?>
Sizin paylaştığınız kısmı nereye ve nasıl entegre etmemiz doğru olur üstadım?
Mesaj 3 defa düzenlendi. Son düzenleyen: BEYAZMASTER (26.05.2022 23:38)
1 kişi bu mesajı beğendi.
ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.
-
Üyelik
04.02.2020
-
Yaş/Cinsiyet
43 / E
-
Meslek
Yazılım...
-
Konum
Diğer
-
Ad Soyad
O** B**
-
Mesajlar
597
-
Beğeniler
154 / 153
-
Ticaret
0, (%0)
@ikodev üstadım takım çalışmanız ve katkınız için teşekkür ederim öncelikle... ; )
Fakat ben soruyu sorarken kod yapımı çok minimize ederek örneklendirdim.
Aslı oldukça uzun, içinde yaklaşık 50 civarı checkbox ve bunun haricinde text inputlar da var...
Ve kodları temizleyerek kaydediyorum, yapısı şöyle;
<?php
if($_POST)
{
try
{
$sorgu = "INSERT INTO table_abc SET
checkboxSutunu_1:checkboxSutunu_1,
checkboxSutunu_2:checkboxSutunu_2,
checkboxSutunu_3:checkboxSutunu_3,
checkboxSutunu_4:checkboxSutunu_4,
checkboxSutunu_5:checkboxSutunu_5,
....
";
$stmt = $connn->prepare($sorgu);
$checkboxSutunu_1=htmlspecialchars(strip_tags($_POST["checkboxSutunu_1"]));
...
$stmt->bindParam(':checkboxSutunu_1', $checkboxSutunu_1);
...
}
catch(PDOException $exception)
{
die('ERROR: ' . $exception->getMessage());
}
}
?>
Bu durumda uyarlamamız nasıl olmalı acaba?
Mesaj 2 defa düzenlendi. Son düzenleyen: BEYAZMASTER (27.05.2022 00:11)
ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.
-
Üyelik
04.02.2020
-
Yaş/Cinsiyet
43 / E
-
Meslek
Yazılım...
-
Konum
Diğer
-
Ad Soyad
O** B**
-
Mesajlar
597
-
Beğeniler
154 / 153
-
Ticaret
0, (%0)
ikodev adlı üyeden alıntı
Insert methodunu daha kolay hale getirebilirsiniz bu arada bu baya uzun olmuş :)))
$checkboxSutunu_1=htmlspecialchars(strip_tags($_POST["checkboxSutunu_1"]));
Bu kısıma arkadaşın attığı if komutunu koyarsanız olması gerek yani aslında mantık şu veriyi her halükarda veritabanına işleyin if komutu ile o veriyi sadece doldurun seçildiyse 1 yap seçilmediyse NULL yap diyin böylelikle veritabanına her halükarda veri işlenmiş olsun. 1 veya NULL olarak en basiti bu :)
"Insert methodunu daha kolay hale getirebilirsiniz bu arada bu baya uzun olmuş :)))"
: ))
.. (column1, checkboxSutunu) VALUES (value1, $checkbox)
Şeklindeki yapıyı kendi kullandığım admin panelde kullandığım olmuyor değil...
Fakat uzun versiyon daha güvenli diye biliyorum, yanılıyor olabilirim...
"Sizce en güvenli kayıt yöntemi hangisi?" diye sormam kaçınılmaz oldu bu noktada... : ))
Uyarlama için çok teşekkür ediyorum üstadım...
Mesaj 1 defa düzenlendi. Son düzenleyen: BEYAZMASTER (27.05.2022 00:29)
ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.
-
Üyelik
04.02.2020
-
Yaş/Cinsiyet
43 / E
-
Meslek
Yazılım...
-
Konum
Diğer
-
Ad Soyad
O** B**
-
Mesajlar
597
-
Beğeniler
154 / 153
-
Ticaret
0, (%0)
ikodev adlı üyeden alıntı
En güvenli yol senin kontrolünde olan yoldur :) PDO nun getirdiği yeni özellikler tabikide eskisine göre daha iyi fakat "eskisine göre" iyi olması demek bu onun mükemmel olduğu anlamına gelmiyor ben şahsen eski usül takılıyorum fakat veritabanına ekleyeceğim tüm verileri filtreden geçirdiğim için dışardan inject mümkün olmuyor. Böylelikle ne sunucu tarafını yoruyorum ne de kendimi.. Burda fonksiyonlardan (prepare,bindParam vs) çok verilerin hangi filtrelerden geçtiği yoksa pdo nun kendiside tamamen yeterli değil
Teşekkür ederim açıklamanız için...
Mesaj 2 defa düzenlendi. Son düzenleyen: BEYAZMASTER (16.03.2023 10:25)
ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.